SSM整合过程 配置文件版 Struts2+Spring+Mybatis
一、SSM整合环境搭建(配置文件版) Struts2+Spring+Mybatis
1.创建web项目
2.补全开发环境
3.引入SSM整合(配置文件版) Struts2+Spring+Mybatis 相关依赖
<!-- 引入javaEE规范 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!-- 引入spring相关的jar -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<!-- 引入mybatis相关jar -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!-- 引入mybatis 与 spring 整合jar -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<!-- 引入struts2 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.16</version>
</dependency>
<!-- 引入struts2 与spring的整合jar -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.16</version>
</dependency>
<!-- 引入mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!-- 引入dbcp -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- 引入fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<!-- 引入log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
</dependency>
<!--引入jstl标签-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
4.引入spring的配置文件
命名:随意 建议是:applicationContext.xml
位置:src/main/resources 中
5.配置web.xml配置文件
1.struts2的核心过滤器 (开启struts2框架)
2.Spring的监听工厂 (创建Spring工厂)
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<!--读取spring的配置文件 创建工厂-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--struts2核心过滤器-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--spring监听工厂-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
二、SSM整合开发步骤(配置文件版) Struts2+Spring+Mybatis
1.建表
2.建实体类
3.定义DAO接口
4.Mapper文件实现DAO接口
4.1 创建Mapper文件
4.2 实现DAO接口
5.spring配置文件中配置与mybatis的相关内容
5.1 创建小配置文件
以 .properties结尾的文件
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/数据库名
name=账号
password=密码
5.2 spring配置文件中内容
<?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.xsd">
<!--读取小配置文件-->
<context:property-placeholder location="jdbc.properties"></context:property-placeholder>
<!--配置数据源-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driver}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${name}"></property>
<property name="password" value="${password}"></property>
</bean>
<!--创建SqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--依赖数据源-->
<property name="dataSource" ref="dataSource"></property>
<!--起别名-->
<property name="typeAliasesPackage">
<value>com.baizhi.entity</value>
</property>
<!--Mapper文件注册-->
<property name="mapperLocations">
<list>
<value>classpath:com/zsq/mapper/*Mapper.xml</value>
</list>
</property>
</bean>
<!--自动创建DAO实现类对象-->
<bean id="scannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage">
<value>com.zsq.dao</value>
</property>
</bean>
</beans>
6.定义service接口
7.实现service接口 并在spring配置文件中配置相关信息
配置spring配置文件中相关信息
<!--配置service实现类对象-->
<bean id="userService" class="com.zsq.serviceImpl.UserServiceImpl">
<property name="userDAO" ref="userDAO"></property>
</bean>
8.引入事务的额外功能类 并对事务进行描述
<!--引入额外功能事务相关代码-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--事务控制依赖于数据源-->
<property name="dataSource" ref="dataSource"></property>
</bean>
<!--描述事务相关属性-->
<tx:advice id="dstm" transaction-manager="transactionManager">
<tx:attributes>
<!--增删改使用默认的事务属性 以modify命名-->
<tx:method name="modify*"/>
<!--查询使用 propagation="SUPPORTS" read-only="true"-->
<tx:method name="*" propagation="SUPPORTS" read-only="true" />
</tx:attributes>
</tx:advice>
<aop:config>
<!--配置切入点-->
<aop:pointcut id="pc" expression="execution(* com.zsq.service..*.*(..))"></aop:pointcut>
<!--组装切面-->
<aop:advisor advice-ref="dstm" pointcut-ref="pc"></aop:advisor>
</aop:config>
9.开发Action