关闭

ssm框架整合

标签: java框架
399人阅读 评论(0) 收藏 举报
分类:
ssm框架搭建




1、配置POM.xml文件,配置项目所需jar(下载jar包,寻找依赖,热部署)


pom从本地拿文件:(遇到中央仓库授权问题)
<dependency> 
    <groupId>cn.outofmemory</groupId> 
    <artifactId>my-tools</artifactId> 
    <version>2.5.0</version> 
    <type>jar</type> 
    <scope>system</scope> 
    <systemPath>${basedir}/lib/mylib1.jar</systemPath> 
</dependency>




2、配置web.xml


头部换成2.4版本:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:javaee="http://java.sun.com/xml/ns/javaee"
	xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
	id="WebApp_ID" version="2.4">




创建配置文件application-context.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:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">




    <!-- 把config文件中所有的配置文件都自动加载进来 -->
<import resource="config/*.xml" />
</beans>




web.xml中配置创建好的文件:
	<context-param>
	<param-name>con</param-name>
	<param-value>classpath:application-context.xml</param-value>
	</context-param>


这是web默认加载配置文件






web.xml配置spring监听器:
	<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>




在src/main/resources下建立config文件夹用于存放配置文件


config目录下配置anotation.xml用于配置注解(扫描,自动装配)


src/main/java中创建基本的项目目录结构
src/main/java/core核心包
src/main/java/utils公用包




4、anotation.xml中只配置spring扫描上述包中的service包:
     <!-- 配置spring扫描 @service -->
     <context:component-scan base-package="cn.zy">
     <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
     </context:component-scan>


     
     <!-- 自动装配 -->
     <!-- 自动配置依赖注入,不需要再set进去 -->
     <context:annotation-config/>






5、配置c3p0连接池
(可以连接多个数据库,不止一个;连接断开会自动连接)


事物也要单独配置由容器进行管理


创建资源文件properties存放jdbc.properties
资源文件中配置数据库基本信息:
driverClass=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/shop?characterEncoding=UTF-8
user=root
password=123456




新建jdbc.xml在config目录下配置c3p0连接池:
    <!-- 配置c3p0 4个值从properties资源文件中取-->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="${driverClass}" />
		<property name="jdbcUrl" value="${jdbcUrl}"></property>
		<property name="user" value="${user}" />
		<property name="password" value="${password}" />
	</bean>








6、新建并配置property.xml文件,读取jdbc.properties:
PropertyPlaceholderConfigurer  (spring中配置资源文件的读取)


spring配置资源文件的读取:
     <!-- 读取JDBC配置 -->
	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	     <property name="locations">
	          <list>
	             <!-- jdbc的配置 -->
	             <value>classpath:properties/jdbc.properties</value>
	             <!-- memcached的配置 -->
	             <!-- 再用value属性对接下来的资源文件进行配置 -->
	          </list>
	     </property>
	</bean>








7、创建并配置mybatis.xml文件:


   <!-- mybatis org.mybatis.spring.SqlSessionFactoryBean配置,数据源的配置 -->


     <!-- mybatis org.mybatis.spring.SqlSessionFactoryBean配置 -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	     <!-- 配置数据源 -->
	     <property name="dataSource" ref="dataSource"></property>
	     <!-- 配置导入映射文件的目录 -->
	     <property name="mapperLocations" value="classpath:cn/zy/core/dao/*.xml"></property>
	     <!-- 设置包的别名 -->
	     <property name="typeAliasesPackage" value="cn.zy.core.bean"></property>
	</bean>
	
	<!-- 配置mybatis对dao包的扫描 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	  <property name="basePackage" value="cn.zy.core.dao"></property>
	</bean>




SqlsessionFactoryBean(产生session,可以进行增删改查)


    配置时id不能乱写!因为是自动装配




在cn.zy.core.bean下创建一个UserInfo实体类,用于mybatis做映射


src/main/resource下创建core/dao的mybatis相对于实体的映射配置文件
UserInfoDAO.xml
对sql语句进行注册


设置包的别名:mybatis.xml文件中:<property name="typeAliasesPackage" value="cn.zy.core.bean"></property>
设置完别名之后UserInfoDAO.xml中就可以不设置包名,直接用对象名注册sql


配置mybatis对dao包的扫描(类似于spring配置对service包的扫描)




8、事务管理:transation.xml  以注解的方式
   spring 声明式事务
     使用mybatis或者hibernate时,不需要手动编写进行提交事务的代码
   DataSourceTransactionManager


     <!-- spring 事务 -->
     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
 <property name="dataSource" ref="dataSource"></property>
     </bean>



 <!-- 开启注解事务 -->
     <tx:annotation-driven transaction-manager="transactionManager"/>






---------------------------------------------------------------




测试环境是否搭建成功:


UserInfoDAO.xml中namespace为dao下的UserInfoDAO接口目录


UserInfoDAO接口中的方法名要和UserInfoDAO.xml中的id要对应上


编写好注册的sql ,insert


mybatis中#{}代表预编译,相当于?


service中编写IUserInfoService编写添加方法


service目录下的impl下创建IUserInfoService的实现类


创建实现类IUerInfoServiceImpl过程中add interface中,加入IUserInfoService这个接口


在实现类IUerInfoServiceImpl添加注解@Service
定义private UserInfoDAO userdao;并加注解@Autowired


在测试类中UserTest进行测试
注解的方式引入测试环境和配置文件
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:application-context.xml")


run as --> Junit Test --> 成功,数据库中成功添加数据


如何要让事务发挥作用:


在接口方法中添加异常抛出,
public void addUser(UserInfo user) throws Exception;
实现类中也添加异常抛出
测试类添加try catch
 
run as --> Junit Test --> 捕捉到了异常,但是数据还是插入到了数据库,所以这里要进行事务的控制!


运行时异常 throw new RuntimeException("运行时异常");
也能插入到数据库


应该设置 : 事务回滚,报错时数据库数据添加不成功


操作:因为配置文件中开启了注解事务,所以在接口的上方添加事务管理的注解即可


银行转账的时候:要么就一起成功,要么就一起回滚.



0
0
查看评论

SSM框架整合思想

Spring+Mybatis+SpringMVC框架是目前流行的Java框架组合。 整合整体分为三层:Dao层,Service层和表现层。 以maven项目为例,建立一个聚合工程,每个层次都是一个模块分别来搭建配置Dao层Dao层用来与数据库进行交互,并且将与数据库交互的结果返回给Service...
  • sunshuo1231
  • sunshuo1231
  • 2017-09-07 21:57
  • 352

shiro学习笔记(一):shiro介绍以及整合SSM框架

1.Shiro是什么?  Apache Shiro是Java的一个安全框架。可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。 2.Shiro能做什么? Authentication:身份认证/登录,验证用户是不是拥有相应的身份; Authorizat...
  • Frank_Hsu_
  • Frank_Hsu_
  • 2018-02-04 16:27
  • 17

SSM框架搭建项目整合学习笔记

配合maven项目管理,完成SSM框架的搭建,对开发学习做笔记记录。 接上一篇博客笔记,做完maven的环境搭建和jar包依赖添加后 Spring和Mybatis的整合 配置jdbc.properties: jdbc.driver=com.mysql.jdbc.Driver jdbc.u...
  • romanticRose
  • romanticRose
  • 2017-07-18 15:22
  • 334

SSM框架整合总结

关于ssm整合的相关总结: 1.持久层--->mybatis:通过Spring 来管理持久层的 Mapper (相当于 dao 接口),来完成对数据库的操作。 首先我们回顾一下,在单独使用mybatis的时候,在其配置文件中有哪些必须的配置! ①mybatis.xml全局配置文件 由于该核...
  • qq_33396392
  • qq_33396392
  • 2016-12-06 16:31
  • 948

《Java EE 互联网轻量级框架整合开发——SSM+Redis实现》7月初即将上市

《Java EE 互联网轻量级框架整合开发 —— SSM 框架( Spring MVC+Spring+MyBatis)和 Redis 实现》 即将出版,采用大开本,预计定价119,前言+目录+正文+附录,大约688页。
  • ykzhen2015
  • ykzhen2015
  • 2017-06-19 11:29
  • 4869

【SSM】SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)

使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题的过程...
  • zsq520520
  • zsq520520
  • 2017-04-03 10:11
  • 853

SSM框架整合小Demo

转载自:http://blog.csdn.net/chenmeixxl/article/details/52040517 我的开发环境:Windows10系统 开发工具:MyEclipse10,JDK1.8,MySQL5.0,Tomcat7.0 ssm框架整合 在MyEclipse里...
  • CoderTnT
  • CoderTnT
  • 2017-12-29 10:22
  • 72

【SSM框架 SSM项目源码 SSM源码 下载】java框架整合Springmvc+mybatis+shiro+bootstrap

 获取【下载地址 (劳动所得,不喜勿喷)】 【免费支持更新】 A 代码生成器(开发利器);全部是源码      增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,...
  • dayuebings
  • dayuebings
  • 2015-12-10 16:19
  • 2646

《Java EE互联网轻量级框架整合开发》读书笔记

2017年12月13日前言其实一直在IT相关领域干了这么久,读了这本书的前言才明白互联网系统和传统的管理系统的区别:移动互联网的新要求:----高并发----高响应----数据一致性----技术复杂化:在互联网中流行许多新技术,比如常见的NoSQL(Redis、MongoDB),又如MQ、RPC框架...
  • tnt87
  • tnt87
  • 2017-12-13 22:15
  • 483

SSM框架整合(IntellIj IDEA+Maven+Spring+SpringMVC+MyBatis)之Spring Framework

1.配置SpringMVC1.1编写Spring配置文件applicationContext.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:...
  • Nicorui
  • Nicorui
  • 2017-07-06 21:00
  • 722
    个人资料
    • 访问:27470次
    • 积分:540
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    最新评论