Spring Boot 编程思想学习笔记——Spring IOC注解分析

@Configuration 代表这是一个 Java 配置文件, Spring 的容器会根据 它来生成 IoC 容器去装配 Bean;

@Bean(name =”user” ) 代表将方法返回的 POJO 装配到 IoC 容器中,而其属性 name 定义这个 Bean 的名称,如果没有配置它,则将方法名称作为 Bean 的名称保 存到 Spring IoC 容器中 。 

@Component (”user") 表明这个类将被 Spring IoC 容器扫描装配,其中配置的“user"则是作为 Bean 的名称,当然你也可以不配置这个字符串,那么 IoC 容器就会把类名第一个字母作为小写,其他 不变作为 Bean 名称放入到 IoC 容器中。

@ComponentScan 则是标明采用何种策略去扫描装配 Bean。

@ComponentScan,意味着它会进行扫描,但是它只会扫描类 AppConfig 所在的当前 包和其子包。

@ComponentScan (”com . springboot.chapter3 . * ” ) ,扫描对应包下的类

@ComponentScan(basePackages = "com.springboot.chapter3 . * ”, excludeFilters = {@Filter(classes = {Service . class})}) ,扫描对应包下的类,排除service类

@Autowired它 会根据属性的类型(by type)找到对应的 Bean 进行注入

@Autowired(required = false) 默认必须找到对应 Bean,改成不必须

@Primary 的含义告诉 Spring IoC 容器, 当发现有多个同样类型的 Bean 时 请优先使用 

@Quelifier  它的配置项 value 需要一个字符串去定义, 它将与@Autowired 组合在一起,通过类型和名称一起找到 Bean

@Autowired 
@Quelifier("dog") 
private Animal animal = null; 

@ComponentScan ( lazyinit = true) :延迟实例化

@PostConstuct 定义初始化方法

@PreDestroy 定义销毁方法。 

@Bean (initMethod =” init ”, destroyMethod = ” destroy” ) 定义初始化和销毁方法

 

下面是读取文件注解

@Value (”${ database . driverName}”} 过@Value 注解, 使用${...... }这样的占位符读取配置在属性文件的内容。

@ConfigurationProperties (” database” )  中配置的字符串 database,将与 POJO 的属性名称组成属性 的全限定名去配置文件里查找,这样就能将对应的属性读入到 POJO 当中。 

@PropertySource(value={”classpath: jclbc. properties ”} ,ignoreResourceNotFound=true) :取自定义对应的属性文件,把它加载到 Spring 的上下文。value 可以配置多个配置文件。使用 classpath 前缀, 意味着去类文件路径下找到属性文件; ignoreResourceN otF ound 则是是否忽略配置文件找不到的问题。 ignoreResourceNotFound 的默认值为 false,也就是没有找到属性文件, 就会报错;这里配置为 true,也就是找不到就忽略掉,不会报错。

 

@ImportResource (value = {'’cl.as spa th: spring-other. xml"}) ,通过它可以引入对应的 XML 文件,用 以加载 Bean

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值