لم يعد بإمكان بدء تشغيل مشروع ويب في Servlet 3.0 أن يتطلب ملف تكوين web.xml ، وبالتالي فإن التكوين في هذه المقالة صالح فقط في حاويات الويب التي تدعم Servlet 3.0 وما فوق
استخدام Spring MVC (4.3.2.release) + thymeleaf (3.0.2.release) ، jdbctemplate المستخدمة في طبقة الثبات. PS: أوصي بإطار عمل مفيد للغاية لتغليف JDBCtemplate: https://github.com/selfly/dexcoder-assistant. فيما يلي التكوين المحدد:
تكوين Spring MVC Dispatcherservlet
Dispatcherservlet هو جوهر الربيع MVC. يوفر Spring AbstractAntAntationConfigDispatcherservleTializer الذي يقوم بسرعة بتكوين Dispatcherservlet. الرمز المحدد كما يلي:
عندما تكون OnStartup () طريقة في واجهة WebApplicationInitializer ، ويقوم المستخدم بتكوين المرشحات والمستمعين الآخرين.
GetRootConfigClasses () يحصل على فئة التكوين ، ما أفهمه يعادل السياق الذي تم إنشاؤه بواسطة ApplicationContext.xml
GetServletConfigClasses () يحصل على فئة التكوين ، وهو ما يعادل السياق الذي أنشأته mvc-servlet.xml
لا توجد تعليقات مطلوبة في هذه الفئة
package com.liu.bank.config ؛ استيراد org.springframework.web.webapplicationInitializer ؛ استيراد org.springframework.web.filter.characterencodingfilter ؛ import org.springframework.web.servlet.support.abstractAntation javax.servlet.filterregistration ؛ استيراد javax.servlet.servletcontext ؛ استيراد javax.servlet.servletexception ؛ webapplicationInitializer {Override فئة محمية <؟> [] getRootConfigClasses () {إرجاع الفئة الجديدة <؟> [] {rootconfig.class} ؛ } Override فئة محمية <؟> [] getServletConfigClasses () {إرجاع فئة جديدة <؟> [] {webConfig.class} ؛ }/*** قم بتكوين المسار لمطابقة Dispatcherservlet* return*/Override String المحمية [] getServletMappings () {return new string [] {"/"} ؛ } / ** * تكوين servlets والمرشحات الأخرى * * param servletContext * throws servleTexception * / Override public void onStartup (servletContext servletcontext) remrows servleTexception encodingfilter.setInitParameter ("الترميز" ، string.valueof (standardcharsets.utf_8)) ؛ encodingfilter.setInitParameter ("ForceenCoding" ، "true") ؛ encodingfilter.addmappingforurlpatterns (null ، false ، "/*") ؛ }} تكوين ApplicationContext.xml ، التي تم تنفيذها بواسطة فئة RootConfig
package com.liu.bank.config ؛ import com.mchange.v2.c3p0.combopooledDatasource ؛ import org.springframework.context.annotation.*؛ org.springframework.jdbc.datasource.datasourCetransActionManager ؛ استيراد org.springframework.stereotype.controller javax.annotation.resource ؛ استيراد javax.sql.datasource ؛ استيراد java.beans.propertyvetoException ؛/** * المستخدم: liu * التاريخ: 2016-10-7 15:36 */@configuration@propertysource ( <aOP: SideJ-Autoproxy/> @enableTransActionManagement في XML // تمكين معاملة التعليقات التوضيحية @componentscan (basePackages = {"com.liulu.lit" ، "compluer. في ملف السمة الذي تم استيراده أعلاه سيتم حقنه في البيئة eving private env ؛ / ** * تكوين تجمعات اتصال قاعدة البيانات C3P0 ، * REGRENTR * throws propertyVetoException */ bean dataSource public dataSource () trows propertyVetoException {cobopooledDataSource 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.setAcquiretryThempts (2) ؛ إرجاع مصدر البيانات ؛ } / ** * تكوين Manager Things * param dataSource * return * / Bean platformTransActionManager TransactionManager (DataSource DataSource) {إرجاع 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 = 5.password = 123456#database connection connection#minimum connection اتصالات محفوظة في تجمع تجمعات تجمع.
تكوين servlet.xml ، التي تم تنفيذها بواسطة فئة WebConfig
تكوين قالب Thymeleaf أدناه أيضًا
package com.liu.bank.config ؛ استيراد org.springframework.context.annotation.bean ؛ استيراد org.springframework.context.annotation.componentscan org.springframework.web.servlet.viewResolver ؛ استيراد org.springframework.web.servlet.config.annotation.defaultservlethandlerconfigurer org.springframework.web.servlet.config.annotation.webmvcConfigureRadapter ؛ import org.thymeleaf.templateengine ؛ import org.thymeleaf.spring4 org.thymeleaf.spring4.view.thymeleafviewResolver ؛ import org.thymeleaf.templatemode.templatemode ؛ import java.nio.charset.standardCharsets ؛/** * user: liu * التاريخ: 2016-10-7 15:16 */@enablewbmvc/ <mvc: enootation-diven /> @componentscan (basePackages = {"com.liulu.bank.controller" ، "com.liulu.lit"} ، inswerfilters = @componentscan.filter (classes = controller.class) ، usedefaultfilters = false) public. تعيين الموارد الثابتة التي يتم التعامل معها من قبل حاوية الويب ، والتي تعادل <mvc: Default-Servlet-thenler/> في XML */ Override public configuredefaultservlethandling (DefaultServleThandLerConfigurer configure) {configurer.enable () ؛ } / *** يتم تكوين الفاصوليا الثلاثة التالية قالب thymelef* @REGANT* / bean publicresourceTemplateresolver Templateresolver () {SpringResourCeTemplateresolver Templateresolver = New SpringResourCetemplateresolver () ؛ Templateresolver.setPrefix ("/web-inf/templates/") ؛ Templateresolver.setsuffix (". html") ؛ Templateresolver.settemplatemode (TemplateMode.html) ؛ Templateresolver.setcharacterencoding (string.valueof (standardcharsets.utf_8)) ؛ إرجاع Templateresolver. } bean public templateengine applateengine (SpringResourCeTemplateresolver Templateresolver) {springtemplateengine templateengine = new SpringTemplateenGine () ؛ templateengine.settemplateresolver (Templateresolver) ؛ إرجاع applateengine ؛ } bean public viewResolver viewResolver (templateengine templateengine) {thymeleafviewResolver viewResolver = new ThyMeLeafViewResolver () ؛ ViewResolver.SettEmplateengine (applateengine) ؛ ViewResolver.SetchAracterEncoding (string.valueof (StandardCharsets.UTF_8)) ؛ إرجاع ViewResolver ؛ }}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.