SpringBoot注入Bean的四种方式总结

 更新时间:2023年11月29日 11:09:41   作者:春来我不先开口,哪个虫儿敢作声?  
这篇文章主要给大家总结SpringBoot注入Bean的四种方式,启动类注入Bean,启动类扫描@ComponentScan,启动类@EnableConfigurationProperties以及启动类@Import这四种方式,文章通过代码示例讲解非常详细,需要的朋友可以参考下

统一测试类与config类

yml

student:
  red: dou

config 

@Configuration注解 与 @Component注解都可以。

@Data
@Configuration
@ConfigurationProperties(prefix = "student")  // 文件上传 配置前缀file.oss
public class MinIOConfigProperties implements Serializable {
 
    private String red;
 
}
@Data
@Component
@ConfigurationProperties(prefix = "student")  // 文件上传 配置前缀file.oss
public class MinIOConfigProperties implements Serializable {
 
    private String red;
 
}

test

@SpringBootTest
class SpringBootTest01ApplicationTests {
 
    @Autowired
    private MinIOConfigProperties minIOConfigProperties;
 
 
    @Test
    void contextLoads() {
        // 获取accessKey值
        String accessKey = minIOConfigProperties.getRed();
        System.out.println(accessKey);
    }
 
}

1. 启动类注入Bean

@SpringBootApplication
public class SpringBootTest01Application {
 
    public static void main(String[] args) {
        SpringApplication.run(SpringBootTest01Application.class, args);
    }
 
 
    @Bean
    public MinIOConfigProperties minIOConfigProperties() {
        return new MinIOConfigProperties();
    }
 
 
}
 

2.启动类扫描@ComponentScan

@ComponentScan(basePackages = "com.ma.config")
@SpringBootApplication
public class SpringBootTest01Application {
 
    public static void main(String[] args) {
        SpringApplication.run(SpringBootTest01Application.class, args);
    }
 
}
 

3.启动类@EnableConfigurationProperties

@SpringBootApplication
@EnableConfigurationProperties(MinIOConfigProperties.class)
public class SpringBootTest01Application {
 
    public static void main(String[] args) {
        SpringApplication.run(SpringBootTest01Application.class, args);
    }
 
}

4.启动类@Import

@SpringBootApplication
@Import(MinIOConfigProperties.class)
public class SpringBootTest01Application {
 
    public static void main(String[] args) {
        SpringApplication.run(SpringBootTest01Application.class, args);
    }
 
}

到此这篇关于SpringBoot注入Bean的四种方式总结的文章就介绍到这了,更多相关SpringBoot注入Bean内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • IDEA 下 Gradle 删除多余无用依赖的处理方法

    IDEA 下 Gradle 删除多余无用依赖的处理方法

    这篇文章主要介绍了IDEA下Gradle删除多余无用依赖,使用该插件可以一定程度上帮助我们删除无用依赖,但是也可能会多删除有用的依赖,需要在使用插件自动修复后手动检测项目,验证是否会出现问题,避免导致上线发布错误的负优化
    2022-03-03
  • MyBatis-Plus流式查询的实现示例

    MyBatis-Plus流式查询的实现示例

    MyBatis-Plus 从 3.5.4 版本开始支持流式查询,通过ResultHandler接口实现结果集的流式查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • MyBatis分页查询返回list的时候出现null的问题

    MyBatis分页查询返回list的时候出现null的问题

    这篇文章主要介绍了MyBatis分页查询返回list的时候出现null的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java代码耗时统计的5种实现方式

    Java代码耗时统计的5种实现方式

    这篇文章主要介绍了Java代码耗时统计的5种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-03-03
  • java 字符串相减(很简单的一个方法)

    java 字符串相减(很简单的一个方法)

    本篇文章是对java中关于字符串相减的一个简单的方法进行了介绍,需要的朋友参考下
    2013-07-07
  • 浅谈java中字节与字符的区别

    浅谈java中字节与字符的区别

    这篇文章主要介绍了浅谈java中字节与字符的区别,字节是java中的基本数据类型,用来申明字节型的变量;字符是语义上的单位,它是有编码的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • drools中then部分的写法(推荐)

    drools中then部分的写法(推荐)

    本文介绍一下drools中then部分的写法,以及一些内置的方法,比如insert/delete/modify等等。同时也介绍一下rule的继承,和在when中实现if else if 等操作,感兴趣的朋友跟随小编一起看看吧
    2022-05-05
  • Java ConcurrentHashMap的使用示例

    Java ConcurrentHashMap的使用示例

    这篇文章主要介绍了Java ConcurrentHashMap的使用示例,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-04-04
  • Java使用Condition实现精准唤醒线程详解

    Java使用Condition实现精准唤醒线程详解

    这篇文章主要为大家详细介绍了Java如何使用Condition实现精准唤醒线程效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-02-02
  • java图片格式转换的三段代码

    java图片格式转换的三段代码

    这篇文章主要分享了java图片格式转换的三段代码,小编查找资料整理了java图片格式转换的三段不同代码,推荐给大家。
    2015-11-11

最新评论