0
点赞
收藏
分享

微信扫一扫

909422229_Sping+Struts2+Mybatis整合步骤


 今天发的是Spring+SpringMVC+Mybatis的整合,相对来说都很细节,又哪里不懂的可以在评论问我。

1.导入jar包

2.修改web.xml文件,添加监听事件

3.修改applicationContext.xml文件,需要在工厂中提供实体的路径

4.DAO接口不需要修改添加,applicationContext.xml文件中需要配置DAO的路径

5.Mapper文件需要在applicationContext.xml中注册路径,Mapper文件中的数据库语句的返回值是entity的类名,注意首字母无需小写。

6.Service接口中无需添加修改,需要修改接口的实现类

利用注解:@Service

@Service//声明的bean的ID为对应类名的首字母小写=userServiceImpl

//@Service("us72") //bean的ID=us72

//类上的@Transactional对类中的所有没有单独制定事务属性的方法有效

//如果方法xx上有单独制定的事务属性,则类上的@Transactional对方法xx无效

增删改需要用到的事务配置:

@Transactional(isolation=Isolation.DEFAULT,propagation=Propagation.REQUIRED,readOnly=false,rollbackFor=Exception.class)

单独的查询配置:

@Transactional(propagation=Propagation.SUPPORTS):如果在查詢情況下,如果有事务不会融入一个事务中

满足Service依赖的DAO:

使用注解:@Resource(name="userDAO"):根据id名查找,默认首字母小写的DAO接口名

@Autowired:根据DAO的类型查找

封装的DAO类型:为DAO接口,非DAO的实现类,在SSM中无DAO的实现类。

7.Action层中,无需在applicationContext.xml配置,利用注解即可。

//@Controller//声明的Bean的ID为=对应类名的首字母小写=userAction

@Controller("ua72")//bean的id为ua72:可以起别名,

@Scope("prototype")  设置是否单例,默认是单例,但是Action是非单例

//@Scope(value="prototype"):value属性名可以省略。

封装的Service为Service的实现类:例如:privateUserService us;

set,get可以省略。

//工厂中和userService同类的bean,会自动注入给当前属性

//@Autowired

@Resource(name="userServiceImpl"):默认为serviceImpl的首字母小写类名。

JAVA文件中,封装的都是接口,而不是实现,注入的都是实现类。

8.Struts.xml配置文件修改:

class属性:填写bean中Action类名,默认为首字母小写的Action名。

其他无变化。即可完成整合。

 

 

 

 

 

 

举报

相关推荐

0 条评论