首页 > 其他分享 >SpringBoot 2x 系列之(三)容器功能

SpringBoot 2x 系列之(三)容器功能

时间:2024-02-28 10:23:37浏览次数:25  
标签:容器 SpringBoot 配置文件 md Spring 2x ConfigurationProperties JavaBean

容器功能

1. 组件添加

1.1 @Configuration结合@Bean注册组件

@Configuration 见 Spring.md 8.4.1 @Configuration

1.2 @Component、@Controller、@Service、@Repository

Spring.md 相关内容

1.3 @ComponentScan

Spring.md 8.4.2 @ComponentScan

1.4 @Import

Spring.md 8.4.5 @Import---多个配置类的读取注解配置

1.5 @Conditional

Spring.md 8.4.7 @Conditional

2. 原生配置文件引入

2.1 @ImportResource

Spring.md 8.4.8 @ImportResource

3. 配置绑定

将配置文件(properties等)中的配置对应绑定到JavaBean的属性中,SpringBoot提供了以下几种方式

只能跟SpringBoot固定的主配置文件(application.properties/yaml/yml)进行绑定

注:只有在容器中的组件,才会拥有SpringBoot提供的强大功能,所以必须将@ConfigurationProperties标注的类注册到容器中

3.1 @Component + @ConfigurationProperties

@Component和@ConfigurationProperties都要标注在JavaBean上

@ConfigurationProperties的prefix属性要传入配置文件中配置项的前缀

3.2 @EnableConfigurationProperties + @ConfigurationProperties

@EnableConfigurationProperties标注在配置类上,@ConfigurationProperties标注在JavaBean上

@ConfigurationProperties的prefix属性要传入配置文件中配置项的前缀,@EnableConfigurationProperties的value属性传入JavaBean的Class,可以是多个

这里的@EnableConfigurationProperties实现了两个功能:

  1. 开启Car与核心配置文件中配置项的配置绑定功能
  2. 把这个Car这个组件自动注册到容器中

多用于JavaBean在第三方jar包中的情况,因为这种情况下我们无法在第三方jar中的JavaBean上标注@Component

标签:容器,SpringBoot,配置文件,md,Spring,2x,ConfigurationProperties,JavaBean
From: https://www.cnblogs.com/wzzzj/p/18039181

相关文章

  • SpringBoot 2x 系列之(二)SpringBoot特点
    SpringBoot特点1.依赖管理特性SpringBoot已经为我们做了版本仲裁,那么如果我们要修改已经做了版本仲裁的依赖,比如mysql驱动的依赖,该怎么做呢?查看spring-boot-dependencies里面规定的当前依赖版本用的properties属性在当前项目里面重新配置<properties><mysql.versi......
  • SpringBoot 2x 系列之(一)基础入门
    基础入门课程规划1.时代背景响应式编程解决的问题:如何使用少量资源编写一个极高吞吐量、能承担大并发的应用响应式应用:占用少量的资源(线程)处理大量的并发springboot:整合spring整个生态圈的一站式框架​ 高层框架,底层是SpringFrameworkSpring:1)从微观角度说Spring指Spri......
  • SpringBoot 1x 系列之(十一)Spring Boot与任务
    SpringBoot与任务异步任务、定时任务、邮件任务1.异步任务1.1应用场景执行一些操作(如:邮件任务等)不想阻塞当前线程的情况下,可以通过多线程的方式进行异步处理。1.2快速使用主配置类//开启@Async异步注解功能@EnableAsync@EnableRabbit@EnableCaching@MapperScan("co......
  • SpringBoot 1x 系列之(十)Spring Boot与检索
    SpringBoot与检索ElasticSearch1.ElasticSearch简介1)Java语言编写的开源全文搜索引擎。2)用于快速的存储、搜索和分析海量数据。3)是一个分布式搜索服务。4)提供RestfulAPI,通过发送请求的方式就可以将ElasticSearch用起来。5)底层基于Lucene(开源的搜索引擎软件工具包)2.Doc......
  • SpringBoot 1x 系列之(九)Spring Boot与消息
    SpringBoot与消息JMS、AMQP、RabbitMQ1.概述消息服务的两个常见规范(消息代理规范):JMS、AMQPJMS(JavaMessageService)JAVA消息服务:​ 基于JVM消息代理的规范。ActiveMQ、HornetMQ是JMS实现AMQP(AdvancedMessageQueuingProtocol)高级消息队列协议​ 也是一个消息代理的规范......
  • SpringBoot 1x 系列之(八)Spring Boot与缓存
    SpringBoot与缓存JSR-107、Spring缓存抽象、整合Redis缓存:加速系统访问,提升系统性能热点数据、临时数据(如验证码)1.JSR-1071.1背景统一缓存的开发规范及提升系统的扩展性,J2EE发布了JSR-107缓存规范1.2JSR107简介CacheManager与Cache的关系,类比连接池与连接涉及的包ja......
  • SpringBoot 1x 系列之(七)自定义starter
    自定义starterstarters原理、自定义starters如何自定义starter:​ 1、这个场景需要使用到的依赖是什么?​ 2、如何编写自动配置@Configuration//指定这个类是一个配置类@ConditionalOnXXX//在指定条件成立的情况下自动配置类生效@AutoConfigureAfter//指定自动配置类的......
  • SpringBoot 1x 系列之(六)Spring Boot启动配置原理
    SpringBoot启动配置原理启动原理、运行流程、自动配置原理几个重要的事件回调机制(这几个事件回调机制可供我们进行干预)配置在META-INF/spring.factoriesApplicationContextInitializerSpringApplicationRunListener只需要放在ioc容器中(@Component标注)ApplicationRunnerCo......
  • SpringBoot 1x 系列之(五)SpringBoot与数据访问
    SpringBoot与数据访问JDBC、MyBatis、SpringDataJPASpringBoot底层是使用的SpringData作为数据访问的默认处理方式。1.整合基本JDBC与数据源Pom依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId><......
  • SpringBoot 1x 系列之(四)Spring Boot与Web开发
    SpringBoot与Web开发Thymeleaf、Web定制、容器定制1.如何使用SpringBoot创建SpringBoot应用,选中我们需要的模块SpringBoot已经默认将这些场景配置好了,我们只需要在配置文件中指定少量配置就可以运行起来编写业务代码2.SpringBoot对静态资源的映射规则普通的web应用......