diff --git a/jsf/pom.xml b/jsf/pom.xml index c4d4e333a1..2f5d315e41 100644 --- a/jsf/pom.xml +++ b/jsf/pom.xml @@ -48,6 +48,17 @@ spring-messaging ${org.springframework.version} + + org.springframework + spring-web + ${org.springframework.version} + + + javax.servlet + javax.servlet-api + provided + ${javax.servlet.version} + @@ -98,5 +109,8 @@ 1.7.13 1.1.3 + + + 3.1.0 \ No newline at end of file diff --git a/jsf/src/main/java/com/baeldung/springintegration/config/MainWebAppInitializer.java b/jsf/src/main/java/com/baeldung/springintegration/config/MainWebAppInitializer.java new file mode 100644 index 0000000000..2de647915c --- /dev/null +++ b/jsf/src/main/java/com/baeldung/springintegration/config/MainWebAppInitializer.java @@ -0,0 +1,36 @@ +package com.baeldung.springintegration.config; + +import com.sun.faces.config.FacesInitializer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.WebApplicationInitializer; +import org.springframework.web.context.ContextLoaderListener; +import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; + +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import java.util.Set; + +public class MainWebAppInitializer extends FacesInitializer implements WebApplicationInitializer { + private static final Logger LOGGER = LoggerFactory.getLogger(MainWebAppInitializer.class); + + @Override + public void onStartup(Set> classes, ServletContext servletContext) throws ServletException { + super.onStartup(classes, servletContext); + } + + /** + * Register and configure all Servlet container components necessary to power the web application. + */ + @Override + public void onStartup(final ServletContext sc) throws ServletException { + LOGGER.info("MainWebAppInitializer.onStartup()"); + sc.setInitParameter("javax.faces.FACELETS_SKIP_COMMENTS", "true"); + + // Create the 'root' Spring application context + final AnnotationConfigWebApplicationContext root = new AnnotationConfigWebApplicationContext(); + root.register(SpringCoreConfig.class); + sc.addListener(new ContextLoaderListener(root)); + } + +} diff --git a/jsf/src/main/java/com/baeldung/springintegration/config/SpringCoreConfig.java b/jsf/src/main/java/com/baeldung/springintegration/config/SpringCoreConfig.java new file mode 100644 index 0000000000..a39da3fe25 --- /dev/null +++ b/jsf/src/main/java/com/baeldung/springintegration/config/SpringCoreConfig.java @@ -0,0 +1,15 @@ +package com.baeldung.springintegration.config; + +import com.baeldung.springintegration.dao.UserManagementDAO; +import com.baeldung.springintegration.dao.UserManagementDAOImpl; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class SpringCoreConfig { + + @Bean + public UserManagementDAO userManagementDAO() { + return new UserManagementDAOImpl(); + } +} diff --git a/jsf/src/main/java/com/baeldung/springintegration/controllers/RegistrationBean.java b/jsf/src/main/java/com/baeldung/springintegration/controllers/RegistrationBean.java index 635e4d48b8..cf8dab5289 100644 --- a/jsf/src/main/java/com/baeldung/springintegration/controllers/RegistrationBean.java +++ b/jsf/src/main/java/com/baeldung/springintegration/controllers/RegistrationBean.java @@ -1,6 +1,6 @@ package com.baeldung.springintegration.controllers; -import com.baeldung.springintegration.dao.IUserManagementDAO; +import com.baeldung.springintegration.dao.UserManagementDAO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -16,7 +16,7 @@ public class RegistrationBean implements Serializable { private static final Logger LOGGER = LoggerFactory.getLogger(RegistrationBean.class); @ManagedProperty(value = "#{userManagementDAO}") - transient private IUserManagementDAO userDao; + transient private UserManagementDAO userDao; private String userName; private String operationMessage; @@ -44,11 +44,11 @@ public class RegistrationBean implements Serializable { this.userName = userName; } - public void setUserDao(IUserManagementDAO userDao) { + public void setUserDao(UserManagementDAO userDao) { this.userDao = userDao; } - public IUserManagementDAO getUserDao() { + public UserManagementDAO getUserDao() { return this.userDao; } diff --git a/jsf/src/main/java/com/baeldung/springintegration/dao/IUserManagementDAO.java b/jsf/src/main/java/com/baeldung/springintegration/dao/IUserManagementDAO.java deleted file mode 100644 index bfa50cc998..0000000000 --- a/jsf/src/main/java/com/baeldung/springintegration/dao/IUserManagementDAO.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ -package com.baeldung.springintegration.dao; - - -/** - * @author Tayo - */ -public abstract class IUserManagementDAO implements UserManagementDAO { - - - @Override - public abstract boolean createUser(String userName); - - -} diff --git a/jsf/src/main/java/com/baeldung/springintegration/dao/UserManagementDAO.java b/jsf/src/main/java/com/baeldung/springintegration/dao/UserManagementDAO.java index 8ee8bb906f..2acb4e636d 100644 --- a/jsf/src/main/java/com/baeldung/springintegration/dao/UserManagementDAO.java +++ b/jsf/src/main/java/com/baeldung/springintegration/dao/UserManagementDAO.java @@ -1,16 +1,7 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package com.baeldung.springintegration.dao; - -/** - * @author Tayo - */ public interface UserManagementDAO { - public boolean createUser(String newUserData); - + boolean createUser(String newUserData); } diff --git a/jsf/src/main/java/com/baeldung/springintegration/dao/UserManagementDAOImpl.java b/jsf/src/main/java/com/baeldung/springintegration/dao/UserManagementDAOImpl.java index b27aa582e3..56cbdd7b88 100644 --- a/jsf/src/main/java/com/baeldung/springintegration/dao/UserManagementDAOImpl.java +++ b/jsf/src/main/java/com/baeldung/springintegration/dao/UserManagementDAOImpl.java @@ -1,12 +1,17 @@ package com.baeldung.springintegration.dao; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Repository; + import java.util.ArrayList; import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; import javax.annotation.PostConstruct; -public class UserManagementDAOImpl extends IUserManagementDAO { +@Repository +public class UserManagementDAOImpl implements UserManagementDAO { + private static final Logger LOGGER = LoggerFactory.getLogger(UserManagementDAOImpl.class); private List users; @@ -19,7 +24,7 @@ public class UserManagementDAOImpl extends IUserManagementDAO { public boolean createUser(String newUserData) { if (newUserData != null) { users.add(newUserData); - Logger.getAnonymousLogger().log(Level.INFO, "User {0} successfully created", newUserData); + LOGGER.info("User {} successfully created", newUserData); return true; } else { return false; diff --git a/jsf/src/main/webapp/WEB-INF/applicationContext.xml b/jsf/src/main/webapp/WEB-INF/applicationContext.xml deleted file mode 100644 index 5d162f56ba..0000000000 --- a/jsf/src/main/webapp/WEB-INF/applicationContext.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - diff --git a/jsf/src/main/webapp/WEB-INF/web.xml b/jsf/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 3522338919..0000000000 --- a/jsf/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - javax.faces.PROJECT_STAGE - Production - - - javax.faces.STATE_SAVING_MODE - SERVER - - - javax.faces.FACELETS_SKIP_COMMENTS - true - - - Faces Servlet - javax.faces.webapp.FacesServlet - 1 - - - Faces Servlet - *.jsf - - - - 30 - - - - /index.jsf - - - - org.springframework.web.context.ContextLoaderListener - - - -