SpringBoot中Bean扫描
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
—用于自己学习记录
一、Bean扫描
关于自定义bean扫描
在SSM框架中实现bean扫描要么在配置文件中添加<context:component-scan base-package=“”>标签
要么类上添加@ComponentScan(basePackages=“”)注解
而在SpringBootApplication中我们不需要手动添加是因为在@SpringBootApplication里面包含了@ComponentScan注解
@ComponentScan注解的扫描范围是当前类同级的所有子包或者类
因此在你新创建的SpringBoot项目中你只有在启动类同级中创建类或子包才能够被扫描到
如果你想要扫描到别的目录下的包你需要在启动类上添加注解
@ComponentScan(basePackages=“所在包全路径”)
二、Bean注册
常见的4个注册注解
(1)如果想把第三方类加入到aop用于管理
在启动类中创建方法去new指定类,之后用SpringApplication.run的返回值去getBean(指定Bean.class) getBean(“方法名”)还中也可以是方法名
或者给bean取名在getBean(“指定名”)
上述方法是在启动类中注册,不太建议
可以在创建一个配置类
这样也是可以的
(2)使用import(类.class)去加入到aop
可以import({类1.class,类2.class,类3.class,类4.class}) 但是显得太臃肿了
建议实现创建一个类实现ImportSelect类然后重写里面的方法来实现Bean注册,然后再启动类中@import(ImportSelector的实现类.class)
具体实现类应该通过读取配置文件来读取需要注册的bean
config类用与加入第三方类