Das Starten eines Webprojekts in Servlet 3.0 kann keine Web.xml -Konfigurationsdatei mehr benötigen, sodass die Konfiguration in diesem Artikel nur in Webcontainern gültig ist, die Servlet 3.0 und höher unterstützen
Die Verwendung von Feder -MVC (4.3.2.Release) + Thymeleaf (3.0.2.Release), der in der Persistenzschicht verwendeten Jdbctemplate. PS: Empfehlen Sie ein sehr nützliches Framework für die Kapselung von jdbctemplate: https://github.com/elselm/dexcoder-assistant. Das Folgende ist die spezifische Konfiguration:
Konfigurieren Sie Spring MVC -DispatcherServlet
DispatcherServlet ist der Kern von Spring MVC. Spring bietet eine Klasse AbstractAnnotationConfigDispatcherServletinitializer, die den Dispatcherservlet schnell konfiguriert. Der spezifische Code lautet wie folgt:
Wo OnStartUp () eine Methode in der WebapplicationInitializer -Schnittstelle ist und der Benutzer andere Filter und Hörer konfiguriert.
GetRootConfigClasses () erhält die Konfigurationsklasse. Ich verstehe, dass ich dem von ApplicationContext.xml erstellten Kontext entspricht
GetServletConfigClasses () erhält die Konfigurationsklasse, die dem von mvc-servlet.xml erstellten Kontext entspricht
In dieser Kategorie sind keine Kommentare erforderlich
Paket com.liu.bank.config; import org.springframework.web.webapplicationInitializer; javax.servlet.filterregistration; import javax.servlet.servletContext; import javax.servlet.servletException; import java.nio.charset WebApplicationInitializer {@Override Protected Class <?> [] GetRootConfigClasses () {return New Class <?> [] {Rootconfig.class}; } @Override Protected Class <?> [] GetServletConfigClasses () {neue Klasse <?> [] {Webconfig.class}; }/*** Konfigurieren Sie den Pfad so, dass er mit dem DispatcherServlet übereinstimmt. } / ** * Konfigurieren Sie andere Servlets und Filter * * @param servletContext * @throws ServletException * / @Override public void onStartup (ServletContext servletContext) löst servletException {filterregistration.dynamiciccodingFilter = servletContextextextexTter.AddFilter ("codnamiciccodingFilter" aus. codingFilter.setInitParameter ("codieren", String.Valueof (StandardCharets.utf_8)); codingFilter.setInitParameter ("ForceScoding", "wahr"); CodingFilter.AddmapPingForUrlpatterns (null, false, "/*"); }} Konfigurieren Sie applicationContext.xml, implementiert von der RootConfig -Klasse
Paket com.liu.bank.config; import com.mchange.v2.c3p0.combopooledDataSource; import org.springframework.context.Annotation. org.springframework.jdbc.datasource.datasourcetransactionManager; import org.springframework.stereotype.Controller; javax.annotation.resource; import javax.sql.datasource; import java.beans.propertyvetoException;/** * Benutzer: liu * Datum: 2016-10-7 15:36 */@configuration@PropertySource ("classpath: config. <AOP: Aspektj-Autoproxy/> @EnabletransactionManagement in XML // Annotation Transaktion @Componentscan (Basepackages = {"com.liulu.lit", "com.liulu.Bank"}, exkludeFilters = @componentscan.filter (Classes = controller.coner.classe). Die oben importierte Attributdatei wird in die Umgebung in die Umgebung eingefügt. / ** * Datenbankverbindungspool c3p0 konfigurieren, * @return * @Throws PropertyVetoException */ @bean public dataSource dataSource () löst 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.scheckoutTimeout (Integer.ValueOf (env.getProperty ("pool.CheckoutTimeout")); DataSource.SetAcquireretryattemptions (2); DataSource zurückgeben; } / ** * Konfigurieren Sie den Things -Manager * @param dataSource * @return * / @Bean Public PlatformTransactionManager TransactionManager (DataSource DataSource) {Neue DataSourcetRansactionManager (DataSource) zurückgeben; } @Bean public JDBCTEMPLET JDBCTEMPLET (DataSource DataSource) {Neue JDBCTEMplate zurückgeben (DataSource); }}Die Datei config.Properties befindet sich im Ressourcenverzeichnis
#Database -Konfiguration db.url = jdbc: mysql: //192.168.182.135: 3306/bankdb.driver = com.mysql.jdbc.driverdb.User = rootDB.Password = 123456 Datenbank -Pool -Konfiguration##minimal#minimal#minimum#minimum#minimum#minimum#connections reserveres reserved in Verbindung Pool Pool In Verbindung Pool Pool In Verbindung Pool Pool Pool. Verbindungen im Verbindungspool Poolpool.MaxpoolSize = 30#Anschluss Timeout -Pool erhalten. CheckoutTimeout = 1000
Konfigurieren Sie servlet.xml, implementiert von der WebConfig -Klasse
Die Konfiguration der Thymeleaf -Vorlage ist ebenfalls unten
Paket com.liu.bank.config; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.comPonentscan; org.springframework.web.servlet.viewresolver; import org.springframework.web.servlet.config.annotation org.springframework.web.servlet.config.annotation.webmvcconFigurerAdapter; import org.thymeleaf.templateEngine; org.thymeleaf.spring4.view.thymeleafViewresolver; import org.thymeleaf.templatemode.templatemode; import Java.nio.CharSet.StandardardCharsets;/** * Benutzer: liu * Datum: 2016-10-7 15:16 */@configuration@Enable@Enable@Enable@Enable@Enable@Enable@Enable@Enable@Enable@Enable@Enable@equable@equable. <mvc:annotation-driven/>@ComponentScan(basePackages = {"com.liulu.bank.controller", "com.liulu.lit"}, includeFilters = @ComponentScan.Filter(classes = Controller.class), useDefaultFilters = false)public class WebConfig extends WebMvcConfigurerAdapter { /** * Setting the static Ressourcen, die vom Webcontainer verwaltet werden, was <MVC entspricht: Standard-Service-Handler/> in XML */ @Override public void configuredFaultServletHandling (defaultServletHandherConFiger-Konfiguration) {configurer.enable (); } / *** Die folgenden drei Bohnen sind konfigurierte Thymeleaf -Vorlage* @return* / @Bean public SpringResourcetemPerateresolver templateresolver () {SpringResourcetemPlateresolver tempterateresolver = New SpringResourcetemPlateresolver (); templateresolver.setprefix ("/webinf/templates/"); temPerateresolver.setsuffix (". html"); templateresolver.settemPlateMode (templatemode.html); templateresolver.setcharactercoding (String.ValueOf (StandardCharets.utf_8)); Templateresolver zurückgeben; } @Bean public templateEngine templateEngine (SpringResourcetemPerateresolver temPerateresolver) {SpringTemplateEngine VorlagenEngine = new SpringTemplateEngine (); templateEngine.settemPerateresolver (TemplateReLesolver); Rückkehr TemplateEngine; } @Bean public viewResolver viewResolver (TemplateEngine VorlagenEngine) {ThymeleAfViewResolver ViewResolver = new thymeleafViewresolver (); viewresolver.settemplateEngine (templateEngine); viewResolver.setcharactercoding (String.ValueOf (StandardCharsets.utf_8)); return viewResolver; }}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.