Springboot的 @Enable*的原理以及如何 以及如何自定义@Enable*注解

为什么springboot对要用的jar包(此处指的是jar包中的包结构与项目的包结构不同的情况)的类需要new或者用bean的方式后者用引入配置类的方式注入到spring 容器中?
1.假如jar的包结构与项目的包结构一致 那么jar包中的类如果加了注册bean的注解 那么项目中直接@aurowired 该类的实例即可
在这里插入图片描述
在这里插入图片描述
假如没有加component 则需要注入bean 才可以使用。
在这里插入图片描述
在这里插入图片描述

因为spring boot会扫描启动类同包及子包中的bean, 而范围以外的bean 就需要用 上面三种方式注入到spring容器中。

比如:注解 和注解处理类,项目中如果使用jar包中的注解,就是要把注解处理类引入到spring容器中。 因为当前项目的spring容器中是没有注解处理类实例的,这样在运行项目是,注解是不生效的。
spring Boot的 @Enable* 注解就是把引入注解处理类行为 封装到注解中,然后作用在项目的配置文件中,简介的在spring容器中生成实例使注解可以生效。
e.g.:
@EnableMethodCache(basePackages = “com.foodmall”)
@EnableCreateCacheAnnotation
两个注解可以使JetCache的@Cached和@CreateCache 注解生效。
@EnableMethodCache 的注解的作用就是把@Cache的注解处理类注入到spring容器中让@Cache注解发挥作用。
还有spring 的诸多注解的运行原理也是一样的。

自定义注解处理类:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这种用import的方式 然后再把注解加入到项目的配置类上也可以实现注解处理类的注入使得注解可以生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值