サーブレット3.0でWebプロジェクトを開始するには、Web.xml構成ファイルが不要になるため、この記事の構成は、サーブレット3.0以上をサポートするWebコンテナでのみ有効です。
Spring MVC(4.3.2.Release) + Thymeleaf(3.0.2.Release)の使用、永続層で使用されるJDBCtemplate。 PS:jdbctemplateカプセル化の非常に便利なフレームワークをお勧めします:https://github.com/selfly/dexcoder-assistant。以下は特定の構成です。
Spring MVC DispatcherServletを構成します
DispatcherServletは、Spring MVCの中核です。 Springは、DispatcherServletをすばやく構成するクラスAbstractAnnotationConfigDisPatcherServletInitializerを提供します。特定のコードは次のとおりです。
onstartup()はWebApplicationInitializerインターフェイスのメソッドであり、ユーザーは他のフィルターとリスナーを構成します。
getRootConfigclasses()構成クラスを取得します。
GetServletConfigClasses()は、MVC-Servlet.xmlによって作成されたコンテキストに相当する構成クラスを取得します
このカテゴリにはコメントは必要ありません
パッケージcom.liu.bank.config; import org.springframework.web.webapplicationInitializer; Import org.springframework.web.filter.characterencodingfilter; Import org.springframework.web.servlet.support.abtrattratratratrationconfigdispatcherizealizer javax.servlet.filterregistration; Import javax.servlet.servletcontext; Import javax.servlet.servletexception; Import java.nio.Charset.StandArdCharsets;/** * user:liu *日付:日付:2016-10-7 15:12 * webApplicationInitializer {@Override Protected class <? } @Override Protected Class <? }/*** dispatcherservletに一致するパスを構成* @return*/@Override保護された文字列[] getServletMappings(){return new String [] {"/"}; } / ** *他のサーブレットとフィルターを構成 * * @param servletcontext * @throws servletexception * / @override public void onstartup(servletcontext servletcontext)throws servletexception {filterregistration.dynamic encodingfilter = servletcontext.addfilter(ecodingfilter ";" encodingfilter "; encodingFilter.setInitParameter( "encoding"、string.valueof(stardingcharsets.utf_8)); encodingFilter.setInitParameter( "forceNcoding"、 "true"); encodingfilter.addmappingforurlpatterns(null、false、 "/*"); }} rootconfigクラスによって実装されたApplicationContext.xmlを構成します
パッケージcom.liu.bank.config;インポートcom.mchange.v2.c3p0.combopooleddatasource; Import org.springframework.context.annotation。*; import org.springframework.core.env.environment; Import org.springframework.jdbc.core.jdbctemplate; org.springframework.jdbc.datasource.DataSourceTransactionManager;import org.springframework.stereotype.Controller;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.annotation.EnableTransactionManagement;import javax.annotation.resource;インポートjavax.sql.datasource;インポートjava.beans.propertyvetoexception;/** * user:liu * date:2016-10-7 15:36 */@configuration@propertySource( "classpath:config.porperties") <aop:aspectj-autoproxy/> @ @enabletransactionmanagement in xml // enable annotation transaction @componentscan(basepackages = {"com.liulu.lit"、 "com.liulu.bank"}、excludefilters = @componentscan.filter(clossed = controll.cluss in contrer.class))上記で輸入されたものは、環境@Resource Private Environment Envに注入されます。 / ** *データベース接続プールC3P0、 * @return * @Throws PropertyVetoException */ @Bean Public DataSource DataSource()Throws 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.setAcquireretryThempts(2); DataSourceを返します。 } / ** * Manager * @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 Configuration db.url = jdbc:mysql://192.168.182.135:3306/bankdb.driver = com.mysql.jdbc.driverdb.uuser = rootdb.password = 123456#データベースの最低限のパウロームプール接続プールプールプールで予約されている接続のうち。maxpoolsize= 30#接続タイムアウトプールを取得します。checkouttimeout= 1000
webconfigクラスによって実装されたservlet.xmlを構成します
Thymeleafテンプレートの構成も以下にあります
パッケージ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.stereope.controller; org.springframework.web.servlet.viewresolver; Import org.springframework.web.servlet.config.annotation.defaultservlethandlerconfigurer; Import org.springframework.web.servlet.config.annotation.enablewebmvc; 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.standardcharsets;/** *ユーザー:liu *日付:2016-10-7 15:16 <MVC:annotation-driven /> @componentscan(basepackages = {"com.liulu.bank.controller"、 "com.liulu.lit"}、includefilters = @componentscan.filter(classes = controller.class)、usedefaultfilters = fals class webconfig extends webconfig extends webconfig extends webconfig extends webconfig extends webconfig exteds xml */ @override public void configuredefaultservlethandling(defaultservlethandlerconfigurer configure)の<mvc:default-servlethandler/>に相当するWebコンテナによって処理されます。 } / ***次の3つの豆は、Thymeleafテンプレート* @return* / @bean public SpringResourcetemplateresver Templateresolver(){springResourcetEmplateresolver Templateresolver = new SpringResourceteTemplateresolver(); Templateresolver.setPrefix( "/web-inf/templates/"); templateresolver.setsuffix( "。html"); templateresolver.settemplatemode(templatemode.html); templateresolver.setcharacterencoding(string.valueof(stardingcharsets.utf_8)); Templateresolverを返します。 } @Bean Public TemplateEngine TemplateEngine(SpringResourCetEmplateresolver Templateresolver){SpringTemplateEngine TemplateEngine = new SpringTemplateEngine(); TemplateEngine.Settemplateresolver(Templateresolver); TemplateEngineを返します。 } @Bean Public Resolver ViewResolver(TemplateEngine TemplateEngine){thymeleafviewResolver ViewResolver = new ThymeleafviewResolver(); viedResolver.settemplateEngine(templateEngine); viedResolver.setcharacterencoding(string.valueof(StandardCharsets.utf_8)); viewResolverを返します。 }}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。