欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 前端技术 > javascript >内容正文

javascript

spring注解@import详细使用说明 -尊龙游戏旗舰厅官网

发布时间:2025/1/21 javascript 17 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 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详细使用说明的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图