Spring框架之IOC注解开发

矫情吗;* 2022-12-07 01:49 293阅读 0赞

前言:前面介绍的是IoC的XML方式进行开发,但在实际开发中,我们常使用注解开发。

一、IOC注解开发的步骤:

1、引入jar包

2、配置applicationContext.xml文件:

引入约束 :路径:spring/doc/spring-farmework-reference/html/xsd-configuration.html :the context schema

3、先创建一个接口和实现类,先利用利用传统方法书写,再利用注解的方法进行

  1. package com.dao;
  2. public interface UserDao {
  3. public void save();
  4. }
  5. /*
  6. * 用户的实现类
  7. *
  8. * */
  9. @Component("userDao")//相当于在<bean id= "userDao" class="com.dao.impl">,不用再xml中配置
  10. public class UserDaoImpl implements UserDao {
  11. private String name;
  12. @Value("张三")
  13. public void setName(String name) {
  14. this.name = name;
  15. }
  16. /*
  17. * 使用注解方式添加属性 :如果类中有属性set方法 把属性注入的注解放入属性的下面
  18. * 如果没有set方法,注解加到属性上面
  19. * */
  20. @Override
  21. public void save() {
  22. System.out.println("UserDaoImpl执行了.....");
  23. }
  24. }

4、在applicationContext.xml中利用注解开发

  1. 开启spring的组件扫描
  2. 再类中添加注解 @Component(“userDao”)
  3. 使用注解方式添加属性 :如果类中有属性set方法 把属性注入的注解放入属性的下面 @Value(“张三”)
    如果没有set方法,注解加到属性上面 例如:private String name; @Value(“张三”)

    1. <context:component-scan base-package="com.dao.impl"/>

5、在编写一个测试类测试就完成了。

二、SpringIoC的注解的详细介绍

1、@Component : 组件 修饰一个类,将一个类交给Spring管理
有三个衍生注解:@Controller :
用于标注控制层,相当于struts中的action层
@Service :用于标注服务层,主要用来进行业务的逻辑处理
@Repository :用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件

2、属性注入的注解

  1. **2.1@Value ** :设置普通属性的注解
  2. ** 2.2@Autowird**: :可以设置对象类型的注解。但按照的是类型的注入,无关名称的
  3. 所以在设置注入时设置它的名称@Qualifier("userDao")
  4. 如:service中将dao层注入 @Autowired
  5. @Qualifier(value = "userDao")在实际开发中,我们常使用。
  6. ** 2.3@Resource **:完成对象类型的注解 (不是spring框架的注解)
  7. 如: @Resource(name = "userDao")//按照名称

注:2.2与2.3属性注入的效果一致

3、**bean的一些其它的注解**

3.1生命周期的注解
初始化: @PostConstruct
销毁时: @PreDestroy
3.2:bean 的作用范围的注解
@Scope: singleton、prototype、requset、session、globalsession

三、**Ioc注解开发和xml的比较**

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzQxODAzNjkz_size_16_color_FFFFFF_t_70

XML:可以适用于任何场景
结构清晰,维护方便
注解:有些地方用不了,这个类不是自己提供。(比如源码提供的)
开发方便

  1. 开发中使用xml和注解整合开发

发表评论

表情:
评论列表 (有 0 条评论,293人围观)

还没有评论,来说两句吧...

相关阅读