SSM 框架 + maven 整合 搭建
2018-03-07 19:50
387 查看
Maven 架包 依赖
struts跟spring整合
mybatis跟spring整合
<!--要和 Spring 一起使用 MyBatis,你需要在 Spring 应用上下文中定义至少两样东西:
一个 SqlSessionFactory 和至少一个数据映射器类。 -->
注: 原本mybatis-configxml 中的配置,除了设置别名的属性,其他的配置信息全部移动到了spring的配置文件中<configuration>
<typeAliases>
<!-- 别名 <typeAlias type="com.yufan.entity.User" alias="User"/> -->
<typeAlias type="com.yufan.entity.User" alias="User"/>
</typeAliases>
</configuration>下面具体介绍spring的配置文件applicationContext.xml 的内容
1. <!-- 识别jdbc.properties 文件 -->
<context:property-placeholder location="classpath:/com/yufan/util/jdbc.properties"
/>2. <!-- 连接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>${driver}</value>
</property>
<property name="url">
<value>${url}</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>${password}</value>
</property>
</bean>3.创建sqlSessionFactory工厂 <!-- SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- <property name="configLocation" value="classpath:mybatis-config.xml"/> -->
<property name="mapperLocations" value="classpath:com/yufan/daoimpl/*.xml"></property>
<property name="typeAliasesPackage" value="com.yufan.entity"/>
</bean>
mapperLocation mapper的xml映射文件
typeAliasesPackage 实体类
4.为dao层添加事务控制(实例化)<bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.yufan.dao.UserDao"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
dao必须是一个接口
会根据工厂的配置自动连接映射文件,完成实例化。
使用方法:
ApplicationContext applicationContext = new
ClassPathXmlApplicationContext("/com/yufan/util/applicationContext.xml");
UserDao userDao = (UserDao)applicationContext.getBean("userDao");
User u = new User(1, "yufan","yufan", true,20);
userDao.saveUser(u);
System.out.println("完成");5.事务控制<!-- 配置事务管理 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 事务相关控制配置 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="remove*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception"
no-rollback-for="java.lang.RuntimeException"/>
<tx:method name="save*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.RuntimeException"/>
<tx:method name="modificate*" propagation="REQUIRED" read-only="false"
rollback-for="java.lang.RuntimeException"/>
<tx:method name="create*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.RuntimeException"/>
<tx:method name="find*" propagation="SUPPORTS"/>
<tx:method name="query*" propagation="SUPPORTS"/>
<tx:method name="get*" propagation="SUPPORTS"/>
<tx:method name="select*" propagation="SUPPORTS"/>
</tx:attributes>
</tx:advice>
<!-- 把事务控制在service层 -->
<aop:config>
<!-- 切入点 -->
<!-- expression 表达式 execution(* *(..)) 为所有的方法加-->
<aop:pointcut expression="execution(* com.yufan.serviceimpl..*.*(..))" id="pr"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="pr"/>
</aop:config>
6.service层<bean id="userService" class="com.yufan.serviceimpl.UserServiceImpl">
<property name="userDao" ref="userDao"></property>
</bean>7.action层 <bean id="userAction" class="com.yufan.action.UserAction">
<property name="userService" ref="userService"></property>
</bean>
<!-- struct --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.1</version> </dependency> <!-- Mybatis --> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.1</version> </dependency> <!-- spring 依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.18.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-test --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>3.2.18.RELEASE</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-core --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.2.18.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-web --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.2.18.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-aop --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>3.2.18.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/aspectj/aspectjweaver --> <dependency> <groupId>aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.5.4</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-tx --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>3.2.18.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>3.2.18.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-orm --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>3.2.18.RELEASE</version> </dependency> <!-- spring strust 插件 --> <!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-spring-plugin --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>2.3.33</version> </dependency> <!-- spring mybatis 整合依赖 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.1</version> </dependency> <!-- 连接池 --> <!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-pool/commons-pool --> <dependency> <groupId>commons-pool</groupId> <artifactId>commons-pool</artifactId> <version>1.6</version> </dependency>
struts跟spring整合
<!-- strust2 的 配置 --> <filter> <filter-name>s2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>s2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- spring 介入 struts --> <!-- 工厂的创建 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 指定工厂的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/com/yufan/util/applicationContext.xml</param-value> </context-param>web.xml 中需要添加的代码
mybatis跟spring整合
<!--要和 Spring 一起使用 MyBatis,你需要在 Spring 应用上下文中定义至少两样东西:
一个 SqlSessionFactory 和至少一个数据映射器类。 -->
注: 原本mybatis-configxml 中的配置,除了设置别名的属性,其他的配置信息全部移动到了spring的配置文件中<configuration>
<typeAliases>
<!-- 别名 <typeAlias type="com.yufan.entity.User" alias="User"/> -->
<typeAlias type="com.yufan.entity.User" alias="User"/>
</typeAliases>
</configuration>下面具体介绍spring的配置文件applicationContext.xml 的内容
1. <!-- 识别jdbc.properties 文件 -->
<context:property-placeholder location="classpath:/com/yufan/util/jdbc.properties"
/>2. <!-- 连接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>${driver}</value>
</property>
<property name="url">
<value>${url}</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>${password}</value>
</property>
</bean>3.创建sqlSessionFactory工厂 <!-- SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- <property name="configLocation" value="classpath:mybatis-config.xml"/> -->
<property name="mapperLocations" value="classpath:com/yufan/daoimpl/*.xml"></property>
<property name="typeAliasesPackage" value="com.yufan.entity"/>
</bean>
mapperLocation mapper的xml映射文件
typeAliasesPackage 实体类
4.为dao层添加事务控制(实例化)<bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.yufan.dao.UserDao"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
dao必须是一个接口
会根据工厂的配置自动连接映射文件,完成实例化。
使用方法:
ApplicationContext applicationContext = new
ClassPathXmlApplicationContext("/com/yufan/util/applicationContext.xml");
UserDao userDao = (UserDao)applicationContext.getBean("userDao");
User u = new User(1, "yufan","yufan", true,20);
userDao.saveUser(u);
System.out.println("完成");5.事务控制<!-- 配置事务管理 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 事务相关控制配置 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="remove*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception"
no-rollback-for="java.lang.RuntimeException"/>
<tx:method name="save*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.RuntimeException"/>
<tx:method name="modificate*" propagation="REQUIRED" read-only="false"
rollback-for="java.lang.RuntimeException"/>
<tx:method name="create*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.RuntimeException"/>
<tx:method name="find*" propagation="SUPPORTS"/>
<tx:method name="query*" propagation="SUPPORTS"/>
<tx:method name="get*" propagation="SUPPORTS"/>
<tx:method name="select*" propagation="SUPPORTS"/>
</tx:attributes>
</tx:advice>
<!-- 把事务控制在service层 -->
<aop:config>
<!-- 切入点 -->
<!-- expression 表达式 execution(* *(..)) 为所有的方法加-->
<aop:pointcut expression="execution(* com.yufan.serviceimpl..*.*(..))" id="pr"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="pr"/>
</aop:config>
6.service层<bean id="userService" class="com.yufan.serviceimpl.UserServiceImpl">
<property name="userDao" ref="userDao"></property>
</bean>7.action层 <bean id="userAction" class="com.yufan.action.UserAction">
<property name="userService" ref="userService"></property>
</bean>
相关文章推荐
- 快速搭建springboot框架以及整合ssm+shiro+安装Rabbitmq和Erlang、Mysql下载与配置
- 基于maven搭建ssm开发框架(1) Service层整合
- Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建+SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- JavaEE_Mybatis_SpringMVC_框架整合_lesson1_简单的SSM框架搭建_使用原始Dao开发方式进行测试
- ssm框架整合 理解及搭建
- 在celipse上搭建ssm框架,并整合freemarker
- java开发之框架搭建(SSM整合+profile+mybatis逆向工程)
- 基于maven搭建ssm开发框架(1) mybatis和spring的整合
- 一步一步带你搭建后台管理系统之SSM框架整合
- taotao-SSM框架整合搭建
- idea中搭建基于maven的ssm整合框架
- SSM框架搭建项目整合学习笔记
- IntelliJ IDEA 搭建基于Maven 的SSM(一)(spring,springMvc,Mybatis)框架整合
- ssm框架的搭建和整合
- 一个JavaWeb搭建的开源Blog系统,整合SSM框架
- SSM整合框架搭建
- SSM框架整合——环境搭建
- ssm框架整合笔记-1-基础框架搭建
- 一个JavaWeb搭建的开源Blog系统,整合SSM框架
- SSM系列2:简易详细的(Spring +Springmvc+Mybatis)框架整合搭建