当前位置:
尊龙游戏旗舰厅官网 >
前端技术
> javascript
>内容正文
javascript
spring注解@import详细使用说明 -尊龙游戏旗舰厅官网
尊龙游戏旗舰厅官网
收集整理的这篇文章主要介绍了
spring注解@import详细使用说明
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
文章目录
- 一、@import解释
- 二、@import有三种使用方法
- 1、直接填class数组方式
- 2、实现importselector接口
- 3、实现importbeandefinitionregistrar接口
写在前面:
我是「境里婆娑」。我还是从前那个少年,没有一丝丝改变,时间只不过是考验,种在心中信念丝毫未减,眼前这个少年,还是最初那张脸,面前再多艰险不退却。
写博客的目的就是分享给大家一起学习交流,如果您对 java感兴趣,可以关注我,我们一起学习
前言:@import作用是将某个类或者第三方jar包中类加载到spring容器中,以便我们能在容器中使用。
一、@import解释
- @import只能用在类上
- @import通过快速导入的方式实现把实例加入spring的ioc容器中
- @import注解可以用于导入第三方包
二、@import有三种使用方法
@import的三种用法:
1、直接填class数组方式
直接填对应的class数组,class数组可以有0到多个
@import({person.class,car.class) @configuration public class myconfig { }启动工程运行结果:
import的bean都将加入到spring容器中,这些在容器中bean名称是该类的全类名
2、实现importselector接口
这种方式要实现importselector接口。
创建myimportselector并实现importselector接口
public class myimportselector implements importselector {@overridepublic string[] selectimports(annotationmetadata importingclassmetadata) {set<string> annotationtypes = importingclassmetadata.getannotationtypes();return new string[]{"com.sl.entity.car"};} }将此实现类myimportselector添加到容器中
@import({person.class,myimportselector.class}) @configuration public class myconfig { }启动工程运行结果:
实现接口的selectimports方法中需要注意三点
- 返回值: 实际上要导入到容器中的组件全类名
- 参数: annotationmetadata表示当前被@import注解给标注的所有注解信息
- 需要注意的是selectimports方法可以返回空数组但是不能返回null,否则会报空指针异常!
3、实现importbeandefinitionregistrar接口
创建myimportbeandefinitionregistrar接口
public class myimportbeandefinitionregistrar implements importbeandefinitionregistrar {@overridepublic void registerbeandefinitions(annotationmetadata importingclassmetadata, beandefinitionregistry registry) {rootbeandefinition rootbeandefinition = new rootbeandefinition(car.class);registry.registerbeandefinition("car",rootbeandefinition);} }将此实现类myimportbeandefinitionregistrar添加到容器中
@import({person.class,myimportselector.class,myimportbeandefinitionregistrar.class}) @configuration public class myconfig { }启动工程运行结果:
registerbeandefinitions参数解释:
- annotationmetadata 和之前的importselector参数一样都是表示当前被@import注解给标注的所有注解信息
- registry第二个参数表示用于注册定义一个bean
以上三种用法方式皆可混合在一个@import中使用,特别注意第一种和第二种都是以全类名的方式注册,而第三中可自定义方式
总结
以上是尊龙游戏旗舰厅官网为你收集整理的spring注解@import详细使用说明的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: