Spring注解@驱动开发

Posted Panda_cv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring注解@驱动开发相关的知识,希望对你有一定的参考价值。

1. @bean

  1. 由原来.xml中

    ApplicationContext 容器:
    applicationContext.getbean(“person”)
  2. package com.atguigu.config; 现在由配置类换成配置文件了
    @configuration //告诉Spring这是一个配置类
    public class xxx{
    @bean
    public Person person(){ return new Person (“sun”);}
  3. 在mian函数 可直接获取容器中的Person

2. @ComponentScan

@ComponentScan(value = “包名 com.atguigu”)
包含@Service @Controller BookDao.java中@Repository

3. @Conditional

按照一定的条件进行判断,满足条件时创建bean 加入容器。

4. @Import

@Import(Color.class) id是组件的全类名

  1. @Import(要导入到容器中的组件);容器中就会自动注册这个组件,id默认是全类名
  2. @ImportSelector

5. @FactoryBean

普通的bean: 容器会创建对象,调用无参、有参构造器
工厂bean: &

6. bean的生命周期

  1. bean的创建-----初始化-----销毁的过程
  2. 容器管理bean的生命周期。
  3. 构造(对象创建)
    单实例:在容器启动的时候创建对象
    多实例:在每次获取的时候创建对象
  4. 初始化:对象创建完成,并赋值好,调用初始化方法
    销毁:容器关闭的时候
  5. @scope(“prototype”)(参考JavaWeb-pp.420)
    bean 初始化:在每次获取的时候创建对象
    bean 销毁:什么时候销毁,手动调用销毁方式。容器不会管理这个bean; 容器不会调用销毁方法;

7. @Value

  1. 基本数值
  2. @Value ("#{18}")
  3. @PropertySource读取外部配置文件中的k/v保存到运行的环境变量中。加载完外部的配置文件以后使用${ }取出配置文件的值。

8. @Autowired

  1. 自动装配:
    Spring利用依赖注入,完成对IOC容器中中各个组件的依赖关系赋值
  2. @Autowired:自动注入
    ①默认优先按照类去容器中找对应得组件
    ②如果找到多个相同的类型组件,在将属性得名称作为组件的id去容器中查找。
  3. @Qualifier
    使用@Qualfier指定需要装配的组件id,而不是使用属性名。
  4. @Autowired(required = fasle)
  5. @Primary
    @Bean(" ")
    让Spring进行自动装配的时候,默认使用首选的bean;

9. @Resource

类似@Autowired自动装配功能;默认是按照组件的名称进行装配的;
没有能支持@Primary功能 没有支持@Autowired(Required = false);

10. @Autowired:构造器 参数 方法 属性

第一次见的是在属性前面加Autowired()
四者都是从容器中获取参数组件的值

11. 总结

  1. 组件添加(重点掌握 conditional 和import )
  2. 组件赋值
  3. 组件注入

    参考资料:
https://www.bilibili.com/video/BV1gW411W7wy?p=26

以上是关于Spring注解@驱动开发的主要内容,如果未能解决你的问题,请参考以下文章

Spring注解驱动开发--AOP功能测试

Spring注解驱动开发-----aop声明式事务

Spring 注解驱动WEB 注解开发

「Spring注解驱动开发」聊聊Spring注解驱动开发那些事儿

Spring注解驱动开发-AOPTx和Servlet3.0

Spring注解驱动开发--项目搭建