1.ioc容器
beanfactory AppcationContext AnnotationConfigApplicationContext
@Configuration 代表这是一个 Java 配置文件, Spring 的容器会根据 它来生成 IoC 容器去装配 Bean
@Bean 代表将 initUser 方法返回的 POJO 装配到 IoC 容器中,而其 属性 name 定义这个 Bean 的名称,如果没有配置它,则将方法名称“initUser”作为 Bean 的名称保 存到 Spring IoC 容器中 。
代码中将 Java 配置文件 AppConfig 传递给 AnnotationConfigApplicationContext 的构造方法,这 样它就能够读取配置了。然后将配置里面的 Bean 装配到 IoC 容器中.
2.装配bean
如果一个个的 Bean 使用注解@Bean 注入 Spring loC 容器中,那将是一件很麻烦的事情。好在 Spring 还允许我们进行扫描装配 Bean 到 loC 容器中,对于扫描装配而言使用的注解是@Component 和@ComponentScan。@Component 是标明l哪个类被扫描进入 Spring IoC 容器,而@ComponentScan 则是标明采用何种策略去扫描装配 Beano。
注解@Component 表明这个类将被 Spring IoC 容器扫描装配,其中配置的“user"则是作为 Bean 的名称,当然你也可以不配置这个字符串,那么 IoC 容器就会把类名第一个字母作为小写,其他 不变作为 Bean 名称放入到 IoC 容器中;注解@Value 则是指定具体的值,使得 Spring IoC 给予对应的 属性注入对应的值。
@Configuration
@ComponentScan
public class AppConfig {
}
@ComponentScan和@Bean的区别?,意味着它会进行扫描,但是它只会扫描类 AppConfig 所在的当前 包和其子包
3. 注入bean
@Autowired,这也是我们在 Spring 中最常用的注解之一,十分重要,它 会根据属性的类型(by type)找到对应的 Bean 进行注入。
4.使用属性文件
<dependency>
<groupid>org . springframework.boot</groupid>
<artifactid>spring-boot-configuration-processor</artifactid>
<optional>true</optional>
</dependency>
原文:https://www.cnblogs.com/pc-m/p/13228263.html