Spring注解(一):组件注解

1、@Configuration:告诉spring这是一个配置类


2、@Bean:给容器中注册一个bean;类型为返回值的类型,id默认是用方法名作为id;默认是单实例


3、@ComponentScan:包扫描,自动把@Controller、@Service、@Repository、@Component下的组件注册,一般与@Configuration组合使用


4、@ComponentScans:可以使用多个@ComponentScan


5、@Filter:与@ComponentScan配合使用;
FilterType.ANNOTATION:按照注解
FilterType.ASSIGNABLE_TYPE:按照给定的类型
FilterType.ASPECTJ:使用aspectj表达式(不常用)
FilterType.REGEX:使用正则指定
FilterType.CUSTOM:自定义规则


6、@Scope:设置组件的作用域,一般与@Bean组合使用;
singleton:单实例(默认值),ioc容器启动会调用方法创建对象放到ioc容器中,以后每次获取就是直接从容器(map.get())中拿
prototype:多实例,ioc容器启动不会去调用方法创建对象,只有在每次获取的时候才会创建对象放在ioc容器中
request:同一次请求创建一个实例
session:同一个session创建一个实例


7、@Lazy:懒加载,适用于单实例;使得容器启动时不创建对象,只在第一次使用bean对象的时候初始化


8、@Conditional:按照条件注册bean,一般与@Bean组合使用,也可以放在类上


9、@Import:给容器中快速导入一个组件,放在类上;id默认是组件的全类名
ImportSelector:返回需要导入的组件的全类名数组
ImportBeanDefinitionRegistrar:手动注册bean到容器中


给容器中注册组件的方法:
①包扫描+组件标注注解(@Controller、@Service、@Repository、@Component)
②@Bean【导入的第三方包的组件】
③@Import【给容器中快速导入一个组件】
④使用Spring提供的FactoryBean;默认获取到的是FactoryBean调用getObject()创建的对象;要获取FactoryBean本身,需要给id前面加一个&















































  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值