Spring注解开发1

spring注解:

  • @Configuration:等同于之前的配置文件。
属性说明默认
value配置当前类的关联的Spring bean的名称类名的首字母小写
  • @Bean
属性说明默认
name 和 value为 bean 起一个名字使用该方法的名称作为类名
autowire采用的装备方式又三种BY_NAME,NO,BY_TYPEAutowire.NO
initMethodbean的初始化方法,指定方法名称就行不用带括号
destroyMethodbean 的销毁方法, 在调用 IoC 容器的 close() 方法时,会执行到该属性指定的方法
  • @ComponentScan
属性说明默认
basePackages和valuebasePackages和value当前类所在的路径·
basePackageClasses指定具体的扫描的类。
nameGenerator对应的bean名称的生成器BeanNameGenerator.class
scopeResolver处理检测到的bean的scope范围AnnotationScopeMetadataResolver.class
useDefaultFilters是否对带有@Component @Repository @Service @Controller注解的类开启检测true
lazyInit扫描到的类是否开启懒加载false
includeFilters指定某些定义Filter满足条件的组件 FilterType
excludeFilters排除某些扫描到的类

includeFilters和excludeFilters是按照@Filter注解进行过滤的,五种过滤方式:
FilterType.ANNOTATION:按照注解
FilterType.ASSIGNABLE_TYPE:按照给定的类型;
FilterType.ASPECTJ:使用ASPECTJ表达式
FilterType.REGEX:使用正则指定
FilterType.CUSTOM:使用自定义规则,实现TypeFilter接口的类

  • @Scope
属性说明默认
value和scopeName调整bean作用域singleton

prototype:多实例的:ioc容器启动并不会去调用方法创建对象放在容器中。每次获取的时候才会调用方法创建对象;
singleton:单实例的(默认值):ioc容器启动会调用方法创建对象放到ioc容器中。以后每次获取就是直接从容器中拿。
request:同一次请求创建一个实例
session:同一个session创建一个实例

  • @Lazy(可以让单实例的bean进行懒加载,ioc容器创建的时候不会加载,第一调用的时候才回加载)
属性说明默认
value懒加载true
  • @Conditional(按照一定的条件进行判断,满足条件给容器中注册bean)
属性说明默认
value根据判断条件(实现了Condition接口的类)
  • @Import(快速的给容器中导入一个bean)
属性说明默认
value导入的类

value中可以导入ImportSelector进行批量倒入(添加全类名,这样导入的bean的name是全类名)。也可以添加一个实现了ImportBeanDefinitionRegistrar接口的类进行bean定义信息的注入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值