SpringBoot中如何注册第三方Bean
废话不多,赞也别少,兄弟们好,开整!
众所周知,SpringBoot默认会扫描启动类所在的包及其子包,一般我们都是在需要的类上通过注解的方式去【Compoment、Controller、Service、Respository】将Bean注册交给IOC进行管理,但是注册第三方Bean的方案却不支持直接在类上写这个(read-only),但是我们可以在其他地方使用@Bean或者@Import注解将三方Bean进行注册。
第一种:使用@Bean
【tips:】前面是引入,不算白雪,也可以直接看每个的最终版,结果测试在@Bean的第一个案例里面
1、在SpringBoot的启动类里面进行配置
@SpringBootApplication
public class 启动类 {
【测试方法都可以用这个 后续的案例就不在一一输出了】
public static void main(String[] args) {
//获取容器用于检查容器内部是否有对应的Bean对象
ApplicationContext context = SpringApplication.run(启动类.class, args);
//获取对应的Bean对象
Country aBean = context.getBean(A.class);
//检验输出
System.out.println(aBean);
}
/**
* @Bean
* public 三方类名 三方类名小写(){
* return new 三方类构造方法();
* }
*/
//注入第三方的Bean A对象到IOC容器里面
@Bean
public A a() {
return new A();
}
}
【“白雪”警告!】在这里需要几个Bean对象就可以写几个Bean,但是不建议这样写
因为这是在启动类里,启动类启动类 干的就是启动的活,或者用一句更嘿嘿的话说:这样写不够美观
所以,'【不建议大家这样写】
2、【最终版不白雪】创建配置类专门进行Bean的注册
配置类的的路径必须在???(默认扫描的路径中)
配置类MyConfig
@Configuration//告诉Spring 给哥们把这个玩意弄上
public class MyConfig {
/**
* @Bean
* public 三方类名 三方类名小写(){
* return new 三方类构造方法();
* }
*/
@Bean
public A a() {
return new A();
}
/**
* 创建的对象默认名字就是其方法名
* 可以通过name属性对其进行赋值
*/
@Bean
public B