Servlet 3.0에서 웹 프로젝트 시작은 더 이상 Web.xml 구성 파일이 필요할 수 없으므로이 기사의 구성은 Servlet 3.0 이상을 지원하는 웹 컨테이너에서만 유효합니다.
Spring MVC (4.3.2.Release) + Thymeleaf (3.0.2.Release)의 사용, 지속성 층에 사용 된 JDBCTemplate. 추신 : jdbctemplate 캡슐화에 매우 유용한 프레임 워크를 권장합니다 : https://github.com/selfly/dexcoder-assistant. 다음은 특정 구성입니다.
Spring MVC Dispatcherservlet을 구성하십시오
Dispatcherservlet은 Spring MVC의 핵심입니다. Spring은 DispatcherServlet을 신속하게 구성하는 클래스 AbstractAntationConfigDispatcherServleTinitializer를 제공합니다. 특정 코드는 다음과 같습니다.
여기서 onstartup ()은 웹 applicationInitializer 인터페이스의 메소드이며 사용자는 다른 필터와 리스너를 구성합니다.
getRootConfigClasses ()는 구성 클래스를 가져옵니다. 내가 이해하는 것은 ApplicationContext.xml에서 만든 컨텍스트와 동일합니다.
getservletconfigclasses ()는 mvc-servlet.xml에 의해 생성 된 컨텍스트에 해당하는 구성 클래스를 가져옵니다.
이 범주에는 의견이 필요하지 않습니다
package com.liu.bank.config; import org.springframework.web.webapplicationinitializer; import org.spramework.wilter.caracterencodingfilter; import org.springframework.web.servlet.abstractationationconfitcherervletinitiOlozerevletinitiOlizer; javax.servlet.FilterRegistration;import javax.servlet.ServletContext;import javax.servlet.ServletException;import java.nio.charset.StandardCharsets;/** * User : liu * Date : 2016-10-7 15:12 */public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer implements webApplicationInitializer {@override protected class <?> [] getRootConfigClasses () {return new Class <?> [] {rootconfig.class}; } @override protected class <?> [] getServletConfigClasses () {return new Class <?> [] {webConfig.class}; }/*** dispatcherservlet과 일치하도록 경로를 구성* @return*/@override protected string [] getServletmappings () {return new String [] { "/"}; } / ** * 다른 서블릿 및 필터를 구성 * * @param servletcontext * @throws servletexception * / @override public void onstartup (servletcontext servletcontext) servletexception {filterregistration.dynamic enourodingfilter = servletcontext.addfilter ( "encodingfilter", ",", "," 캐릭터 encodingfilter.class); EncodingFilter.SetInitParameter ( "인코딩", String.Valueof (Standardcharsets.utf_8)); encodingFilter.SetInitParameter ( "ForceEncoding", "true"); encodingFilter.AddMappingForUrlPatterns (null, false, "/*"); }} RootConfig 클래스에서 구현 한 ApplicationContext.xml 구성
package com.liu.bank.config; import com.mchange.v2.c3p0.combopooleddatasource; import org.springframework.context.annotation.*; import org.springframework.core.env.env.envondranment; import org.springfringfr ringfr.core.jdbctemplate; org.springframework.jdbc.datasource.datasourcetransactionmanager; import org.springframework.stereotype.controller; import org.springframework.transaction.platformtransactionManager; import org.springframework.transaction.annotactionmanagement; javax javax.sql.datasource; import java.beans.propertyvetoexception;/** * user : liu * 날짜 : 2016-10-7 15:36 */@configuration@propertysource ( "classPath : config.properties") // import propert @enableaspect jautoproxy // <aop : XML // enableTransactionManagement @componentscan @componentscan @componentscan @componentscan에서 enabletransactionmanagement (anspoceproxy/> @enableTransactionManagement) 위에서 가져온 속성 파일 @Resource Private Environment Env; / ** * 데이터베이스 연결 풀 c3p0, * @return * @Throws PropertyVetoException */ @Bean public dataSource dataSource () propertyVetoException {combopooledDatasource DataSource = new ComboPooledDatasource (); DataSource.setjdbcurl (Env.getProperty ( "db.url")); DataSource.setDriverClass (Env.GetProperty ( "DB.Driver")); DataSource.setUser (Env.GetProperty ( "db.user")); DataSource.setPassword (Env.GetProperty ( "DB.Password")); DataSource.setminpoolsize (Integer.valueof (Env.getProperty ( "pool.minpoolsize")); DataSource.setmaxpoolsize (integer.valueof (Env.getProperty ( "pool.maxpoolsize")); DataSource.SetAutocommitonClose (false); DataSource.setcheckoutTimeout (integer.valueof (Env.getProperty ( "pool.checkoutTimeout")); DataSource.setAcquireretryTempts (2); 반환 데이터 소스; } / ** * 사물을 구성 * @param dataSource * @return * / @bean public platformtransactionManager transactionManager (DataSource DataSource) {return new DataSourcetRansactionManager (DataSource); } @bean public jdbctemplate jdbctemplate (dataSource dataSource) {return new jdbctemplate (DataSource); }}config.properties 파일은 리소스 디렉토리에 있습니다
#Database 구성 DB.URL = JDBC : mysql : //192.168.182.135 : 3306/bankdb.driver = com.mysql.jdbc.driverdb.user = rootdb.password = 123456#Database Connection Pool Pool의 최신 번호. 연결 수영장 풀 풀에 예약 된 연결 수 .maxpoolsize = 30#연결 타임 아웃 풀.
WebConfig 클래스에서 구현 한 Servlet.xml 구성
Thymeleaf 템플릿 구성도 아래에 있습니다
package com.liu.bank.config; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.componentscan; import org.springframework.context.annotation.configuration; import org.springframework.stereotyp.controller; org.springframework.web.servlet.viewresolver; import org.springframework.web.servlet.config.annotation.defaultservlethandlerconfigurer; import org.springframework.web.servlet.config.annotation.enablebmvc; 수입 org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import org.thymeleaf.TemplateEngine;import org.thymeleaf.spring4.SpringTemplateEngine;import org.thymeleaf.spring4.templatesolver.SpringResourceTemplateResolver;import org.thymeleaf.spring4.view.thymeleafviewresolver; import org.thymeleaf.templatemode.templatemode; import java.nio.charset.standardchcharsets;/** * 사용자 : liu * 날짜 : 2016-10-7 15:16 */@springmvc // enable springmvc/genable springmvc/genable <MVC : Annotation-Driven /> @ComponentsCan (BasePackages = { "com.liulu.bank.controller", "com.liulu.lit"}, contaumfilters = @componentscan.filter (class = controller.class = false) public class exconfig extends webmvcconfiger webmcconfigerate XML */ @override public void configuredefaultservleThandling (defaultservlethandlerConfiger configure) {configurer.enable (); } / *** 다음 세 개의 콩은 Thymeleaf 템플릿을 구성합니다. templateresolver.setprefix ( "/web-inf/templates/"); templateresolver.setsuffix ( ". html"); templateresolver.settemplatemode (templatemode.html); templateresolver.setcharacterencoding (string.valueof (Standardcharsets.utf_8)); 반환 템플 레이터 솔버; } @Bean public templateEngine templateEngine (SpringResourcetemplaterEsolver templateresolver) {SpringTemplateEngine templateEngine = new SpringTemplateEngine (); TemplateEngine.settemplateresolver (Templateresolver); 리턴 템플릿 엔진; } @Bean Public ViewResolver ViewResolver (TemplateEngine TemplateEngine) {Thymeleafviewresolver viewresolver = 새로운 Thymeleafviewresolver (); ViewResolver.SetTemPlateEngine (TemplateEngine); ViewResolver.SetchAracterEncoding (String.Valueof (Standardcharsets.utf_8)); viewresolver를 반환하십시오. }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.