SpringBoot自动装配原理详细解析

 更新时间:2024年01月19日 09:35:10   作者:景庆197  
这篇文章主要介绍了SpringBoot自动装配原理详细解析,一个对象交给Spring来管理的三种方式 @Bean @Compoment @Import,
@Bean主要在@Configuration中,通过方法进行注入相关的Bean,@Compoent与@Service归为一类,在类上加注入对应的类,需要的朋友可以参考下

1.@SpringBootApplication注解理解

一个对象交给Spring来管理的三种方式 @Bean @Compoment @Import  

@Bean主要在@Configuration中,通过方法进行注入相关的Bean

@Compoent与@Service归为一类,在类上加注入对应的类

@Import注解只有一value方法,注释中指名该注解必须作用在@Configuration定义的类上,Value可以为想要交割Spring管理的类文件数组 Impor

 2.查看创建Bean的个数,以及展示

查看展示个数

ConfigurableApplicationContext context = SpringApplication.run(PaymentMain8001.class, args);
int counts = context.getBeanDefinitionCount();
System.out.println(counts);

查看IOC中所有的Bean

ConfigurableApplicationContext context = SpringApplication.run(PaymentMain8001.class, args);
ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
beanFactory.getBeanNamesIterator().forEachRemaining(System.out::println);

3.条件化配置注解

在自动配置类上有一些ConditionXxxx注解吗,该注解的作用进行条件化的选择

注解作用
@ConditionalOnBean如果存在某个Bean, 配置类生效
@ConditionalOnMissingBean如果不存在某个Bean, 配置类生效
@ConditionalOnClass如果存在某个类, 配置类生效
@ConditionalOnMissingClass如果不存在某个类, 配置类生效
@ConditionalOnProperty如果存在某个属性配置, 配置类生效
@ConditionalOnWebApplication如果是一个web应用, 配置类生效
@ConditionalOnNotWebApplication如果不是一个web应用, 配置类生效

相关举例WebMvcAutoconfiguration 

视图解析器 

4.SpringBootApplication.run()的理解

 

举例:存在对应的配置文件

到此这篇关于SpringBoot自动装配原理详细解析的文章就介绍到这了,更多相关SpringBoot自动装配内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解springboot项目带Tomcat和不带Tomcat的两种打包方式

    详解springboot项目带Tomcat和不带Tomcat的两种打包方式

    这篇文章主要介绍了详解springboot项目带Tomcat和不带Tomcat的两种打包方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Spring Boot开发Web应用详解

    Spring Boot开发Web应用详解

    这篇文章主要介绍了Spring Boot开发Web应用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • gradle和maven有哪些区别

    gradle和maven有哪些区别

    这篇文章主要介绍了gradle和maven有哪些区别,帮助大家更好的理解和选择java程序的构建工具,感兴趣的朋友可以了解下
    2021-01-01
  • 浅谈MyBatis 如何执行一条 SQL语句

    浅谈MyBatis 如何执行一条 SQL语句

    Mybatis 是 Java 开发中比较常用的 ORM 框架。在日常工作中,我们都是直接通过 Spring Boot 自动配置,并直接使用,但是却不知道 Mybatis 是如何执行一条 SQL 语句的,下面就一起讲解一下
    2021-05-05
  • Java编程中线程池的基本概念和使用

    Java编程中线程池的基本概念和使用

    这篇文章主要介绍了Java编程中线程池的基本概念和使用,多线程编程是使Java程序实现并发的一个重要手段,需要的朋友可以参考下
    2015-11-11
  • 详解Spring中Bean的加载的方法

    详解Spring中Bean的加载的方法

    本篇文章主要介绍了Spring中Bean的加载的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Spring数据源及配置文件数据加密实现过程详解

    Spring数据源及配置文件数据加密实现过程详解

    这篇文章主要介绍了Spring数据源及配置文件数据加密实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 简单的用java实现读/写文本文件的示例

    简单的用java实现读/写文本文件的示例

    同时也展示了如果从输入流中读出来内容写入输出流中(仅限文本流) 三个例子可以独立存在,所以根据需要只看其中一个就行了。
    2008-07-07
  • 解决java main函数中的args数组传值问题

    解决java main函数中的args数组传值问题

    这篇文章主要介绍了解决java main函数中的args数组传值问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 详解Maven多模块打包遇到的问题解决方法

    详解Maven多模块打包遇到的问题解决方法

    这篇文章主要介绍了详解Maven多模块打包遇到的问题解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论