PS:配置项目与 springmvc 的依赖关系,就是本项目采用 springmvc 的入口配置;
当 web 项目启动时,会根据配置文件下的节点信息找到对应的配置文件完成 springmvc 的核心功能;
仔细看节点,会找 spring-mvc、spring-mybatis 两个 xml 文件;
spring-mvc.xml
1 xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xmlns:mvc="http://www.springframework.org/schema/mvc" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans 7 http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 8 http://www.springframework.org/schema/context 9 http://www.springframework.org/schema/context/spring-context-3.1.xsd 10 http://www.springframework.org/schema/mvc 11 http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> 12 13 14 <context:component-scan base-package="com.helloworld.controller" /> 15 16 <bean id="mappingJacksonHttpMessageConverter" 17 class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> 18 <property name="supportedMediaTypes"> 19 <list> 20 <value>text/html;charset=UTF-8value> 21 list> 22 property> 23 bean> 24 25 <bean 26 class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> 27 <property name="messageConverters"> 28 <list> 29 <ref bean="mappingJacksonHttpMessageConverter" /> 30 list> 31 property> 32 bean> 33 34 <bean 35 class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 36 37 <property name="prefix" value="/WEB-INF/" /> 38 <property name="suffix" value=".jsp" /> 39 bean> 40 41 42 <bean id="multipartResolver" 43 class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 44 45 <property name="defaultEncoding" value="utf-8" /> 46 47 <property name="maxUploadSize" value="10485760000" /> 48 49 <property name="maxInMemorySize" value="40960" /> 50 bean> 51 52 69 70 71 <mvc:annotation-driven>mvc:annotation-driven> 72 73 <mvc:interceptors> 74 75 <mvc:interceptor> 76 <mvc:mapping path="/**"/> 77 <bean class="com.helloworld.controller.BaseController">bean> 78 mvc:interceptor> 79 mvc:interceptors> 80 beans>
PS:配置 springmvc 的基本项,核心就是这个包扫描,
当 web 项目时会找到 base-package="com.macrobotinc.controller" 下的所有控制器;
spring-mybatis.xml
1 xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xmlns:mvc="http://www.springframework.org/schema/mvc" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans 7 http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 8 http://www.springframework.org/schema/context 9 http://www.springframework.org/schema/context/spring-context-3.1.xsd 10 http://www.springframework.org/schema/mvc 11 http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> 12 13 <context:component-scan base-package="com.helloworld.service" /> 14 15 16 <bean id="propertyConfigurer" 17 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 18 <property name="location" value="classpath:jdbc.properties" /> 19 bean> 20 21 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 22 destroy-method="close"> 23 <property name="driverClassName" value="${driver}" /> 24 <property name="url" value="${url}" /> 25 <property name="username" value="${username}" /> 26 <property name="password" value="${password}" /> 27 28 <property name="initialSize" value="${initialSize}">property> 29 30 <property name="maxActive" value="${maxActive}">property> 31 32 <property name="maxIdle" value="${maxIdle}">property> 33 34 <property name="minIdle" value="${minIdle}">property> 35 36 <property name="maxWait" value="${maxWait}">property> 37 bean> 38 39 40 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 41 <property name="dataSource" ref="dataSource" /> 42 43 <property name="mapperLocations" value="classpath:com/helloworld/mapping/*.xml">property> 44 bean> 45 46 47 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 48 <property name="basePackage" value="com.helloworld.dao" /> 49 <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">property> 50 bean> 51 52 53 <bean id="transactionManager" 54 class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 55 <property name="dataSource" ref="dataSource" /> 56 bean> 57 58 beans>
PS:同上,找到 base-package="com.helloworld.service" 下的所有数据库操作接口;
意思我懂,但是描述不出来;
jdbc.properties
1 driver=com.mysql.jdbc.Driver 2 url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8 3 username=root 4 password=111111 5 #定义初始连接数 6 initialSize=1 7 #定义最大连接数 8 maxActive=20 9 #定义最大空闲 10 maxIdle=20 11 #定义最小空闲 12 minIdle=1 13 #定义最长等待时间 14 maxWait=60000
log4j.properties
1 ### set log levels ### 2 #log4j.rootLogger = debug , stdout , D , E 3 log4j.rootLogger = debug , stdout , D 4 5 ### output to the console ### 6 log4j.appender.stdout = org.apache.log4j.ConsoleAppender 7 log4j.appender.stdout.Target = System.out 8 log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 9 #log4j.appender.stdout.layout.COnversionPattern= %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n 10 log4j.appender.stdout.layout.COnversionPattern= %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n 11 12 ### Output to the log file ### 13 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender 14 log4j.appender.D.File = ${springmvc.root}/WEB-INF/logs/log.log 15 log4j.appender.D.Append = true 16 log4j.appender.D.Threshold = DEBUG 17 log4j.appender.D.layout = org.apache.log4j.PatternLayout 18 log4j.appender.D.layout.COnversionPattern= %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n 19 20 ### Save exception information to separate file ### 21 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender 22 log4j.appender.D.File = ${springmvc.root}/WEB-INF/logs/error.log 23 log4j.appender.D.Append = true 24 log4j.appender.D.Threshold = ERROR 25 log4j.appender.D.layout = org.apache.log4j.PatternLayout 26 log4j.appender.D.layout.COnversionPattern= %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n 27 28 log4j.logger.com.macrobotinc.dao=debug
这个时候基本的配置已经有了,和 .NET MVC 比起来配置确实很花时间,
但是一套会自己部署了以后,以后就知道了,其实也很简单。