SSM整合流程(注解版)
一、注解
注解的作用:替换配置文件中繁琐的配置 ,目的可以:提高开发效率。
使用步骤:
1、把对应的注解放在对应位置上。
//以实体类为例
@Component()
public class User {
private String id;
private String name;
private String password;
private Integer age;
2、告知Spring框架在哪一个位置使用了注解
//在applicationContext.xml文件中配置
<!-- 告知Spring在哪个位置使用了注解 -->
<context:component-scan base-package="com.baizhi.entity"></context:component-scan>
常用注解:
- 1、@Component 可以创建简单对象
使用位置:书写在类的上边
注意:如何获取简单对象?Spring默认提供的ID的该类类名的首字母小写
- 2、@Autowired 给属性进行自动注入
前提条件:Spring工厂中已经拥有该实现类的对象
-
3、@Service 创建Service的类对象
-
4、@Transactional 给对应的方法添加事务;也可以放在类上,给类中所有的方法添加事务,并采用默认属性
前提条件:激活@Transactional 注解
-
5、@Controller 自动创建Action对象 默认的ID类名是首字母小写
-
6、@Scope() 指定创建对象的次数
2、开发步骤(注解版)
环境搭建:
<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>
1、建表
2、写实体类对象
3、定义DAO接口
4、Mapper文件实现DAO接口
5、在Spring配置文件中配置Mybatis的相关内容信息
6、定义Service接口
7、实现Service接口
@Service //创建Service实现类对象
@Transactional //使用在类上,给所有的方法添加对应的事务,采用默认的事务属性。如果是查询,可以单独配置,局部配置大于全局配置
public class UserServiceImpl implements UserService{
//为属性进行对应的自动注入,不需要提供set方法
@Autowired
private UserDAO userdao;
@Override
public void register(User user) {
userdao.save(user);
}
}
8、为Service添加声明式事务
<!-- 引入控制事务的相关代码 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 激活事务 -->
<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
9、开发Action
@Controller //创建Action类对象 在配置文件中通过类名首字母小写获取
@Scope("prototype") //创建的是单例还是多例(控制创建的次数)
public class UserAction {
@Autowired
private UserService userService;
private User user;
public String register(){
userService.register(user);
return "index";
}
10、配置action的相关信息
11、告知Spring框架在哪个包下使用了注解
<context:component-scan base-package="com.baizhi.*"></context:component-scan>
配置文件版的SSM整合可参考链接:https://blog.csdn.net/qq_35371323/article/details/94989089