spring boot import 注解 原理,spring中import注解
目录
spring boot 2 annotation @ Import @ Import导入组件使用验证
00-1010我在上一篇文章中了解了@Configuration。您可以注册组件。另外还有很多注解,学spring的时候用法和以前一样。比如@Bean、@Component、@Controller、@Service、@Repository等。
本文介绍了另一种向容器添加组件的方法:@Import annotation,它将组件导入容器。
SpringBoot2注解@Import
@Import 导入组件
@Import的用法非常简单,可以放在任何配置类或组件中。
另外,它是一个数组,所以可以导入多个组件。例如:
@Import({User.class,db helper . class })@ Configuration(proxybean methods=false)public class my config { @ Bean( User 1 )public User User 01(){ User pinguo=new User( pinguo ,20);Pingguo . setpet(Tomcat pet());还平果;} @Bean(pet1 )公共宠物tomcatPet(){返回新宠物( Tomcat );}}这里导入了两个组件,即User.class和DBHelper.class
User.class是我之前定义的类,DBHelper.class是我刚找到的一个第三方包下的类。
编写完成后,@Import可以在容器中自动创建这两类组件。
00-1010验证容器中是否存在上述两种成分。
或者将代码添加到main方法中,并将所有代码放出来供后续查看。
//标记这是一个springboot应用程序,并且这个类是主程序类,所有启动的portals @ spring boot aapplication(scanbase packages= com . Pingguo )public class main Application { public static void main(string[]args){//返回IOC容器最终可配置应用程序上下文Run=spring Application . Run(main Application . class,args);//检查容器中的组件finalstring[]bean definitionnames=run . getbeandeditionnames();for(String name : bean definition names){ system . out . println(name);}//从容器中获取组件my config bean=run . Get bean(my config . class);System.out.println(配置类也是组件: bean );用户user 1=bean . user 01();用户user 2=bean . user 01();system . out . println(user 1==user 2);//dependency user user r01=run . getbean( user 1 ,user . class);Pet pet1=run.getBean(pet1 ,pet . class);system . out . println( Dependent on:(user 01 . get pet()==pet 1));//@Import组件string[]beannamesfortype=run . getbeannamesfortype(user . class);System.out.println(=====获取User===类型的beanfor(String s : beanNamesForType){ system . out . println(s);} System.out.println(=====获取DBHelper类型的bean===);db helper bean 1=run . get bean(db helper . class);system . out . println(bean 1);}}看看最后//@Import组件相关的代码。
因为在之前的研究中注册了太多的用户类型组件,所以遍历打印输出。
在运行结果中,可以看到有两种bean类型的用户,分别是user1和com.pingguo.boot.bean.User
对于user1,它以前是用@bean注册的。
对于com.pingguo.boot.bean.User,这次是用import导入的,默认组件名是完整的类名。
最后一个ch . QoS . log back . core . db . db helper @ 4943 defe,是导入的第三方包的类,成功注册了容器中的组件。
以上是SpringBoot2底部注释@Import用法的详细说明。更多关于SpringBoot2的注释@Import的信息,请关注风行IT的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。