美文网首页
[使用]-自动装配

[使用]-自动装配

作者: lsh的学习笔记 | 来源:发表于2020-05-27 20:38 被阅读0次

自动装配

@Autowired

  • 可以标注在构造器、参数、方法、字段上。
  • 当bean只有一个有参构造器时,可以省略标注。
  • 在setter方法或者@Bean标注的方法参数,可以省略。
查找顺序
  1. 默认优先按照类型去容器中查找对应bean:applicationContext.getBean(BookDao.class);
  2. 如果找到多个相同bean,再将属性名作为bean的ID去容器中查找:applicationContext.getBean("bookDao");
使用
  1. 使用 @Qualifier("bookDao2") 明确指定要注入bean的ID(需要和@Autowired 配合使用);
  2. 自动装配默认一定要将属性赋值,没有找到就会报错;
    a. 可以使用 @Autowired(required=false) 调整。
  3. @Primary:让spring进行自动注入的时候,默认使用首选的bean;
    a. 也可以继续使用@Qualifier指定需要注入的bean的名字;

@Resource

JSR250 Java规范的注解。
默认按bean名称进行装配。
不支持 @Qualifier 、 @Primary、required=false 功能。

@Inject

JSR330 Java规范的注解。

使用的时候需要导入依赖:

<dependency>
    <groupId>javax.inject</groupId>
    <artifactId>javax.inject</artifactId>
    <version>1</version>
</dependency>

支持 @Qualifier 、 @Primary,但是不支持 required=false 功能。

Aware 注入spring 底层组件 & 原理

为什么需要 xxxAware?

用户自定义的bean 想要使用spring容器底层的一些bean(ApplicationContext, BeanFactory,xxx);

  1. 自定义bean实现 xxxAware;在创建对象时,会回调接口规定的方法,以注入相关 bean。
  2. xxxAware 功能———对应处理器——> xxxProcessor 。

Profile 环境定义

用途

spring提供的可以根据当前环境,动态激活和切换不同的组件的功能。

开发环境、测试环境、生产环境。

@Profile:指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册这个组件。

标注位置

  1. 加了环境标识的bean,只有这个环境被激活的时候才能注册到容器中。默认是default环境。
  2. 写在配置类上,只有是指定的环境的时候,整个配置类里面的所有配置才能开始生效。
  3. 没有标注环境标识的bean在,任何环境下都是加载的。

激活方法

  1. 使用命令行动态参数: 在虚拟机参数位置加载
    -Dspring.profiles.active=test
  2. 代码的方式激活某种环境;

相关文章

  • spring学习4(自动装配)

    自动装配 注:这里使用了 p命名空间 手动装配 就是要手动指定引用 自动装配 要使用bean标签 的属性 aut...

  • Spring之旅(三):Spring 装配

    Bean装配 bean装配有哪几种方式 如何使用javaConfig进行显示装配 如何使用自动化装配 什么是装配 ...

  • 4.Spring Beans 自动装配

    1.Spring Beans 自动装配 Beans 自动装配 你已经学会如何使用 元素来声明 bean 和通过使用...

  • 3.7 自动装配 bean

    Spring 支持五种自动装配模式。 byName模式: 当使用 byName模式进行自动装配时, Spring会...

  • 第二章 装配bean

    装配:创建应用对象之间协作关系的行为 1、自动化装配bean:(组件扫描+自动装配) 在类中使用注解@compon...

  • Spring回顾——自动装配模式

    Spring 支持五种自动装配模式: byName模式:在使用byName模式进行自动装配时,Spring会尝试用...

  • Spring装配Bean

    spring三种方式装配bean: 自动化装配bean 借助java来进行bean装配 使用xml进行bean装配...

  • Spring之Bean的自动装配

    七、Bean的自动装配 目录:测试环境搭建、byName、byType、注解开发自动装配是使用Spring满足be...

  • 第二章 装配 Bean

    Spring 提供了三种装配 Bean 的方式: 自动发现和自动装配(推荐使用) 通过 Java 显示配置 再 X...

  • [使用]-自动装配

    自动装配 @Autowired 可以标注在构造器、参数、方法、字段上。 当bean只有一个有参构造器时,可以省略标...

网友评论

      本文标题:[使用]-自动装配

      本文链接:https://www.haomeiwen.com/subject/lfmgahtx.html