การเริ่มต้นโครงการเว็บใน Servlet 3.0 ไม่จำเป็นต้องใช้ไฟล์การกำหนดค่า web.xml อีกต่อไปดังนั้นการกำหนดค่าในบทความนี้จะใช้ได้เฉพาะในเว็บคอนเทนเนอร์ที่รองรับ Servlet 3.0 ขึ้นไป
การใช้สปริง MVC (4.3.2.release) + thymeleaf (3.0.2.release), jdbctemplate ที่ใช้ในเลเยอร์การคงอยู่ PS: แนะนำกรอบการทำงานที่มีประโยชน์มากสำหรับการห่อหุ้ม JDBCTEMPLATE: https://github.com/selfly/dexcoder-assistant ต่อไปนี้คือการกำหนดค่าเฉพาะ:
กำหนดค่าสปริง MVC dispatcherservlet
Dispatcherservlet เป็นแกนหลักของสปริง MVC สปริงให้คลาส AbstractannotationConfigDispatcherservletInitializer ที่กำหนดค่า DispatchERServlet ได้อย่างรวดเร็ว รหัสเฉพาะมีดังนี้:
โดยที่ onstartup () เป็นวิธีการในอินเตอร์เฟส webapplicationInitializer และผู้ใช้กำหนดค่าตัวกรองและผู้ฟังอื่น ๆ
getRootConfigClasses () ได้รับคลาสการกำหนดค่าสิ่งที่ฉันเข้าใจนั้นเทียบเท่ากับบริบทที่สร้างโดย ApplicationContext.xml
getServletConfigclasses () ได้รับคลาสการกำหนดค่าซึ่งเทียบเท่ากับบริบทที่สร้างโดย mvc-servlet.xml
ไม่จำเป็นต้องมีความคิดเห็นในหมวดหมู่นี้
แพ็คเกจ com.liu.bank.config; นำเข้า org.springframework.web.webapplicationinitializer; นำเข้า org.springframework.web.filter.characterencodingfilter; นำเข้า org.springframework.web.servlet.support.support.support.support.support. javax.servlet.filterregistration; นำเข้า Javax.servlet.servletContext; นำเข้า Javax.servlet.servletexception; นำเข้า Java.nio.charset.standardCharsets;/** * ผู้ใช้: liu * วันที่: 2016-10-7 15:12 * WebApplicationInitializer {@Override คลาสที่ได้รับการป้องกัน <?> [] getRootConfigClasses () {ส่งคืนคลาสใหม่ <?> [] {rootConfig.class}; } @Override คลาสที่ได้รับการปกป้อง <?> [] getServletConfigClasses () {ส่งคืนคลาสใหม่ <?> [] {webConfig.class}; }/*** กำหนดค่าพา ธ ให้ตรงกับ dispatchERSerVlet* @return*/@Override String ที่ได้รับการป้องกัน [] GetSerVletMappings () {ส่งคืนสตริงใหม่ [] {"/"}; } / ** * กำหนดค่า servlets และตัวกรองอื่น ๆ * * @param servletContext * @throws servletexception * / @Override โมฆะสาธารณะ onStartup (servletContext servletContext) โยน servletexception {filterregistration.dynamic encodingFilter.setInitParameter ("การเข้ารหัส", string.valueof (StandardCharsets.UTF_8)); ENCODINGFILTER.SETINITPARAMETER ("FORCEENCODING", "TRUE"); encodingFilter.addmappingforurlpatterns (null, false, "/*"); - กำหนดค่า ApplicationContext.xml นำมาใช้โดยคลาส RootConfig
แพ็คเกจ com.liu.bank.config; นำเข้า com.mchange.v2.c3p0.combopooledDataSource; นำเข้า org.springframework.context.annotation.*; นำเข้า org.springframework.core.env.envirment; org.springframework.jdbc.datasource.datasourcetransactionmanager นำเข้า org.springframework.stereotype.controller; นำเข้า org.springframework.transaction.platformtransactionManager; javax.annotation.resource; นำเข้า javax.sql.datasource; นำเข้า java.beans.propertyvetoexception;/** * ผู้ใช้: liu * วันที่: 2016-10-7 15:36 */@propertysource ("config.properties" <AOP: APASTIONJ-AUTOPROXY/> @EnableTransactionManagement ใน XML // เปิดใช้งานการทำธุรกรรมคำอธิบายประกอบ @componentscan (basepackages = {"com.liulu.lit", "com.liulu.bank"}, excludefilters = @componentscan.filter ในไฟล์แอตทริบิวต์ที่นำเข้าด้านบนจะถูกฉีดเข้าไปในสภาพแวดล้อม @Resource สภาพแวดล้อมส่วนตัว Env; / ** * กำหนดค่าพูลการเชื่อมต่อฐานข้อมูล c3p0, * @return * @throws PropertyVetoException */ @bean DataSource Public 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 (เท็จ); DataSource.SetCheckOutTimeOut (Integer.ValueOf (env.getProperty ("pool.checkouttimeout"))); DataSource.SetAcquireretryAttempts (2); ส่งคืนแหล่งข้อมูล; } / ** * กำหนดค่าตัวจัดการสิ่งต่าง ๆ * @param DataSource * @return * / @Bean Public PlatformTransactionManager TransactionManager (DataSource DataSource) {ส่งคืน DataSourceTransactionManager ใหม่ (DataSource); } @Bean สาธารณะ JDBCTEMPLAT JDBCTEMPLATE (DATASOURCE DATASOURCE) {ส่งคืน JDBCTEMPLATE ใหม่ (DataSource); -ไฟล์ config.properties อยู่ในไดเรกทอรีทรัพยากร
#Database การกำหนดค่า db.url = jdbc: mysql: //192.168.182.135: 3306/bankdb.driver = com.mysql.jdbc.driverdb.user = rootdb.passwoobloolboolboolboolboolbooling ของการเชื่อมต่อที่สงวนไว้ในพูลพูลการเชื่อมต่อ MaxPoolSize = 30#รับพูลหมดเวลาเชื่อมต่อ CheckOutTimeOut = 1,000
กำหนดค่า servlet.xml ใช้โดย WebConfig class
การกำหนดค่าเทมเพลต thymeleaf ยังอยู่ด้านล่าง
แพ็คเกจ com.liu.bank.config; นำเข้า org.springframework.context.annotation.bean; นำเข้า org.springframework.context.annotation.componentscan; นำเข้า org.springframework.context.annotation.configuration; org.springframework.web.servlet.viewresolver; นำเข้า org.springframework.web.servlet.config.annotation.defaultservlethandlerconfigurer; นำเข้า org.springframework.web.servlet.configg. org.springframework.web.servlet.config.annotation.webmvcconfigureradapter; นำเข้า org.thymeleaf.templateengine นำเข้า org.thymeleaf.spring4.springtemplateengine; org.thymeleaf.spring4.view.thymeleafViewResolver; นำเข้า org.thymeleaf.templatemode.templatemode นำเข้า java.nio.charset.standardCharsets;/** * ผู้ใช้: liu * วันที่: 2016-10-7 15:16 <MVC: คำอธิบายประกอบ />> @ComponentsCan (basepackages = {"com.liulu.bank.controller", "com.liulu.lit"}, รวม filters = @componentscan.filter (classes = controller.class) การตั้งค่าทรัพยากรแบบคงที่ที่จัดการโดยเว็บคอนเทนเนอร์ซึ่งเทียบเท่ากับ <MVC: ค่าเริ่มต้น Servlet-Handler/> ใน XML */ @Override โมฆะสาธารณะกำหนดค่ากำหนดค่าใช้งาน Servlethandling (ค่าเริ่มต้น } / *** ถั่วสามตัวต่อไปนี้ได้รับการกำหนดค่าเทมเพลต thymeleaf* @return* / @bean สาธารณะ SpringResourceTemplateresolver Templateresolver () {SpringResourcetemplateresolver Templateresolver = New SpringResourceMplateresolver (); templateresolver.setPrefix ("/web-inf/templates/"); templateresolver.setsuffix (". html"); templateresolver.settemplateMode (templateMode.html); templateresolver.setcharacterencoding (string.valueof (StandardCharsets.UTF_8)); Return Templateresolver; } @Bean สาธารณะ templateEngine templateEngine (SpringResourceTemplateresolver Templateresolver) {SpringTemplateEngine TemplateEngine = New SpringTemplateEngine (); TemplateEngine.Settemplateresolver (Templateresolver); ส่งคืน TemplateEngine; } @Bean Public ViewResolver ViewResolver (TemplateEngine TemplateEngine) {thymeleafViewResolver ViewResolver = thymeleafViewResolver ใหม่ (); ViewResolver.settemplateEngine (TemplateEngine); ViewResolver.setcharacterencoding (string.valueof (StandardCharsets.UTF_8)); Return ViewResolver; -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น