SSM配置文件
1.web.xml:
spring 监听器
spring配置文件路径
字符集编码过滤器
springmvc中的前端控制器和springmvc的配置文件路径
400 400 404错误码的访问路径
开发访问的首页面
2.applicationContext.xml
注解驱动
包扫描
加载jdbc.properties文件
根据jdbc.properties配置数据源
配置sqlSessionFactory工厂
(1).指定数据源 dataSource
(2).指定mybatis-config.xml的配置文件 configLocation
(3).指定mapper.xml的包地址 mapperLocations
配置mapper的包扫描:把mapper接口扫描到容器中。 basePackage
配置事务管理器
指定数据源
配置事务通知和传播行为
配置切面
3.springmvc.xml
扫描controller
注解驱动:配置处理器映射器和适配器
<mvc:annotation-driven/>
指定视图解析器
ViewResolver
4.mybatis-config.xml
可以指定驼峰命名法
5.jdbc.properties
6.log4j.properties
-
web.xml
web.xml是ssm项目当中最重要的一个配置文件,当服务启动时会首先加载web.xml这个文件,里面包括了对前端控制器、乱码等的配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!--全局范围内参数初始化--> <context-param> <param-name>contextConfigLocation</param-name> <!--参数名称--> <param-value>classpath:applicationContext.xml</param-value> <!--参数取值--> </context-param> <!--spring的监听器 ContextLoaderListener继承ContextLoader类实现ServletContextListener接口 ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。 因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!--springMVC的配置--> <!--前端控制器--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!-- 此处不配置 默认找 /WEB-INF/[servlet-name]-servlet.xml --> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <!-- 1:*.do *.action 拦截以.do结尾的请求 (不拦截 jsp png jpg .js .css) 2:/ 拦截所有请求 (不拦截.jsp) 建议使用此种 方式 (拦截 .js.css .png) (放行静态资源) 3:/* 拦截所有请求(包括.jsp) 此种方式 不建议使用 --> <url-pattern>*.do</url-pattern> </servlet-mapping> <!--<servlet> <servlet-name>imageServlet</servlet-name> <servlet-class>com.utils.PageAutocode</servlet-class> </servlet> <servlet-mapping> <servlet-name>imageServlet</servlet-name> <url-pattern>/servlet/imageServlet</url-pattern> </servlet-mapping>--> <!--如果某个会话在一定时间内未被访问,则服务器可以扔掉来节约内存 单位为分钟--> <session-config> <session-timeout>60</session-timeout> </session-config> <servlet> <servlet-name>services</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>services</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <!-- 静态资源文件的引入 --> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> </servlet-mapping> <!--过滤器--> <filter> <description>字符集过滤器</description> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <description>字符集编码</description> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--直接输入项目名进入时返回的页面--> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
-
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <!--自动扫描,将标注spring注解的类自动转化bean (1)< context:annotation-config />:仅能够在已经在已经注册过的bean上面起作用。对于没有在spring容器中注册的bean,它并不能执行任何操作。 (2)< context:component-scan base-package="XX.XX"/> :除了具有上面的功能之外,还具有自动将带有@component,@service,@Repository等注解的对象注册到spring容器中的功能 --> <!--开启注解模式--> <context:annotation-config /> <!--自动扫描service--> <context:component-scan base-package="com.lnp.service" /> <!-- 数据库连接池 --> <!-- 加载配置文件 --> <context:property-placeholder location="classpath:properties/jdbc.properties"/> <!-- 数据库连接池 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <property name="driverClassName" value="${jdbc.driver}"/> <property name="maxActive" value="10"/> <property name="minIdle" value="5"/> </bean> <!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 数据库连接池 --> <property name="dataSource" ref="dataSource"/> <!-- 加载mybatis的全局配置文件 --> <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"/> </bean> <!--配置mapper扫描包--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.lnp.mapper"/> </bean> <!--==========================以上内容为applicationContext-dao配置===================================--> <!-- 事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!-- 数据源 --> <property name="dataSource" ref="dataSource"/> </bean> <!-- 通知 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!-- 传播行为 --> <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="insert*" propagation="REQUIRED" /> <tx:method name="add*" propagation="REQUIRED" /> <tx:method name="create*" propagation="REQUIRED" /> <tx:method name="delete*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="find*" propagation="SUPPORTS" read-only="true" /> <tx:method name="select*" propagation="SUPPORTS" read-only="true" /> <tx:method name="get*" propagation="SUPPORTS" read-only="true" /> </tx:attributes> </tx:advice> <!-- 切面 --> <aop:config> <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.lnp.service.*.*(..))" /> </aop:config> <!--==========================以上内容为applicationContext-service配置============================--> </beans> </beans>
-
springmvc.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"> <!--这里让扫描controller,指定controller的包--> <context:component-scan base-package="com.lnp.controller"/> <!-- 注解的映射器 --> <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> --> <!-- 注解的适配器 --> <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> --> <!-- 使用 mvc:annotation-driven可以代替上面注解映射器和注解适配器配置 mvc:annotation-driven默认加载了很多的参数绑定方法,比如json转换解析器就默认加载了 实际开发中使用mvc:annotation-driven --> <!-- 注解驱动:配置处理器映射器和适配器 --> <mvc:annotation-driven/> <!-- 视图解析器 解析jsp解析,默认使用jstl标签,classpath下得有jstl的包 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 配置jsp路径的前缀 --> <property name="prefix" value="/WEB-INF/jsp"/> <!-- 配置jsp路径的后缀 --> <property name="suffix" value=".jsp"/> </bean> <!--静态资源映射--> <mvc:resources mapping="/css/**" location="/WEB-INF/css/"/> <mvc:resources mapping="/js/**" location="/WEB-INF/js"/> <!--<!– 转换器 –>--> <!--<property name="converters">--> <!--<list>--> <!--<!– 日期类型转换 –>--> <!--<bean class="com.lnp.controller.converter.CustomDateConverter"/>--> <!--</list>--> <!--</property>--> <!--</bean>--> <!--<!– 全局拦截器 –>--> <!--<mvc:interceptors>--> <!--<!– 顺序执行 –>--> <!--<mvc:interceptor>--> <!--<mvc:mapping path="/**"/>--> <!--<bean class="com.lnp.interceptor.HandlerInterceptor1"></bean>--> <!--</mvc:interceptor>--> <!--<mvc:interceptor>--> <!--<mvc:mapping path="/**"/>--> <!--<bean class="com.lnp.interceptor.HandlerInterceptor2"></bean>--> <!--</mvc:interceptor>--> <!--<mvc:interceptor>--> <!--<mvc:mapping path="/**"/>--> <!--<bean class="com.lnp.interceptor.LoginInterceptor"></bean>--> <!--</mvc:interceptor>--> <!--</mvc:interceptors>--> </beans>
-
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true" /> </settings> </configuration>
-
jdbc.properties
datasource.type=mysql datasource.autoCommitOnClose=false datasource.driverClassName=com.mysql.jdbc.Driver #datasource.url=jdbc:mysql://127.0.0.1:3306/onproject?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull #datasource.username=root #datasource.password=123456 datasource.url=jdbc:mysql://localhost:3306/onproject?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull datasource.username=root datasource.password=123456 c3p0.acquireIncrement=3 c3p0.initialPoolSize=5 c3p0.idleConnectionTestPeriod=900 c3p0.minPoolSize=10 c3p0.maxPoolSize=25 c3p0.maxStatements=150 c3p0.maxIdleTime=1800 c3p0.autoCommitOnClose=true
6.log4j.properties
log4j.rootLogger = DEBUG, INFO, STDOUT log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout log4j.appender.DEBUG.layout.ConversionPattern=[%d{MM/dd HH:mm}] %m%n log4j.appender.STDOUT.layout.ConversionPattern=[%d{MM/dd HH:mm}] %m%n log4j.logger.jdbc.sqlonly=DEBUG,STDOUT log4j.logger.jdbc.sqltiming=OFF log4j.logger.jdbc.audit=OFF log4j.logger.jdbc.resultset=OFF log4j.logger.jdbc.connection=OFF log4j.logger.org.apache.ibatis=OFF log4j.logger.org.apache.ibatis.jdbc.ScriptRunner=DEBUG log4j.logger.java.sql.Connection=OFF log4j.logger.java.sql.Statement=OFF log4j.logger.java.sql.PreparedStatement=OFF log4j.logger.com.google=ERROR log4j.logger.net.rubyeye=ERROR
-
-
网友评论