SpringFramework 版本变更新增的注解以及对配置的改变

SpringFramework 版本变更

1.x

纯xml配置。java5发布后,在1.2.0版本的时候增加了@Transcational注解。

2.x

增加了新的注解:@Required @Repository @Aspect。
扩展了配置文件功能:可以使用自定义标签。
2.5版本有较大升级,新增以下注解:@Autowired @Qualifier@Component@Service @Controller @RequestMapping等
可以使用xml+context:component-sacn+@Component+@Controller+@Service+@Repository。

3.x

增加注解:@Configuration 配置文件类注解等价于applicationContext.xml文件;@Bean 等价于。3.0版本的时候context:component-scan还没有对应的注解,所以还是需要通过xml配置,有个过渡的注解@ImportResource(“applicationContext.xml”)可以在配置类里获取xml配置文件里的类容。
3·1版本增加:@ComponentScan 默认扫描当前包及其子包下所有的被@Component @Controller @Service @Repository注解所标识的类并加载到容器中。
@Enable*可以实现对第三方模块的整合 可以不依赖配置文件,在java配置类中实现。
@Import
使用方式一(静态引入):@Import(User.class)将需要引入到IOC容器中的类显式的添加进去。
使用方式二(动态引入):@Import(ImportSelector.class)传入的类实现ImportSelector接口,并重写selectImports方法,此方法可以根据自己的业务逻辑返回IOC容器需要加载的类型的全类路径名称。
使用方式三(动态引入):@Import(ImportBeanDefinitionRegistar.class)传入的类实现ImportBeanDefinitionRegistrar接口,并重写registerBendefinitions方法,此方法参数里有BeanDefinitionRegistry注册器。先将需要添加的类型封装为RootBeanDefinition类型,然后注册到注册器中。可以自主的添加想要的对象注册到容器中。
在实例化类的时候会通过反射去判断传入的类是否实现了第二、三两个接口,如果没有就直接实例化该类, 如果有就去相应的方法中找类型。

4.x

注解完善的时代
@Conditional(Conditon.class)传入的类实现Condition接口并重写matches方法,此方法可以根据实际业务返回boolean类型。以此来决定IOC容器是否加载使用了此注解的类的对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值