Java学习笔记----SSM框架整合
1. 创建Maven----Webapp项目

2. 补全maven项目的框架目录
============> 
3. 在pom.xml文件中添加相关依赖
4. 编写 SqlMapConfig.xml ( Mybatis相关配置文件 )
大多配置被Spring整合,只需设置日志输出
<?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> <!--设置日志输出语句,显示相应操作的sql语名--> <settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> </configuration>
5. 编写 applicationContext_mapper.xml ( mapper层配置文件 、 SM整合 )
1)读取属性文件
<!-- 读取属性文件 --> <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
2)配置dataSource的bean
<!-- 连接池dataSource --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="password" value="${jdbc.password}"></property> <property name="url" value="${jdbc.url}"></property> <property name="driverClassName" value="${jdbc.driverClassName}"></property> <property name="username" value="${jdbc.username}"></property> </bean>
3)配置SqlSessionFactoryBean
<!-- sqlsessionFactoryBean --> <bean class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 连接池 --> <property name="dataSource" ref="dataSource"></property> <!-- mybatis配置文件 --> <property name="configLocation" value="classpath:mybatis-config.xml"></property> <!-- 实体类简称 --> <property name="typeAliasesPackage" value="com.study.pojo"></property> </bean>
4)绑定mapper
<!-- mapper --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.study.mapper"></property> </bean>
6. 编写applicationContext_service.xml( service层配置文件 )
1)Service层的包扫描
<!-- 包扫描 --> <context:component-scan base-package="com.study.service.impl"></context:component-scan>
2)事务相关
a. 事务管理器
<!-- 事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean>
b. 事务切面
<!-- 事务切面 --> <tx:advice id="myadvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="*select*" read-only="true"/> <tx:method name="*search*" read-only="true"/> <tx:method name="*query*" read-only="true"/> <tx:method name="*get*" read-only="true"/> <tx:method name="*add*" propagation="REQUIRED"/> <tx:method name="*insert*" propagation="REQUIRED"/> <tx:method name="*update*" propagation="REQUIRED"/> <tx:method name="*remove*" propagation="REQUIRED"/> <tx:method name="*delete*" propagation="REQUIRED"/> <tx:method name="*set*" propagation="REQUIRED"/> <tx:method name="*change*" propagation="REQUIRED"/> <tx:method name="*" propagation="SUPPORTS"/> </tx:attributes> </tx:advice>
c. 切入点+绑定切面
<!-- 切入点+绑定切面 --> <aop:config> <aop:pointcut id="mycut" expression="execution(* com.study.service.impl.*.*(..))"/> <aop:advisor advice-ref="myadvice" pointcut-ref="mycut"></aop:advisor> </aop:config>
7. 编写springmvcConfig.xml ( springmvc相关配置文件 、controller层 )
1)Controller层的包扫描
<!-- 包扫描 --> <context:component-scan base-package="com.study.controller"></context:component-scan>
2)视图解析器
<!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean>
3)注解驱动
<!-- 注解驱动 --> <mvc:annotation-driven></mvc:annotation-driven>
8. 编写web.xml
1)编码过滤器
<!-- 编码过滤器 --> <filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceRequestEncoding</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>forceResponseEncoding</param-name> <param-value>true</param-value> </init-param> </filter>
<filter-mapping> <filter-name>encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
2)前端控制器 DispatcherServlet
<!-- DispatcherServlet --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 指定springmvc配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc_config.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
3)自动加载Spring容器的 ContextLoaderListener 监听器
<!-- 监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext_*.xml</param-value> </context-param>
浙公网安备 33010602011771号