IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 【springboot】4、容器功能 -> 正文阅读

[Java知识库]【springboot】4、容器功能

spring中注入组件的注解

springboot的核心始终还是spring,spring中的组件在springboot中基本都能够使用,类似的,我们在springboot中也可以使用@Component,@Controller,@Service,@Repository等进行容器的注入
在这里插入图片描述

在上面我就使用@RestController注入了一个Controller,我们debug查看singletonObjects

在这里插入图片描述
在这里插入图片描述

可以发现已经成功注入了容器中,其它也是类似的,就不再测试了

@Configuration

我们可以通过这个注解来指定配置类,我们在配置类中可以很方便的往容器中注入注解。在传统的spring中,注入组件到容器一般就是通过注解或者配置文件,在springboot中我们可以通过在配置类中写一个方法即可
在这里插入图片描述
在这里插入图片描述
上面是我创建的一个配置类,使用@Configuration进行标识的,在这个类中我们写了一个dahuang的函数,返回一个Dog,这个函数使用了@Bean进行标识,这就标识这个函数返回的bean将会杯注入到容器中,名称就是函数名称,当然,我们也可以使用@Bean进行指定。
在这里插入图片描述

我们debug进行查看,看容器中是否又名称为dahuang的bean

在这里插入图片描述

可以发现确实成功注入了。注意:我们使用@Configuration标识的类本身也会注入到容器
在这里插入图片描述

原因就是Configuration注解包含了Component注解

在这里插入图片描述

@Import

我们可以使用@Import来注入组件
在这里插入图片描述
这个注解应用到配置类上,需要传入一个数组,里面写上要注入的组件就行了
在这里插入图片描述
上面的代码,我蒋Dog注入了容器,默认名称就是类的全路径
在这里插入图片描述

@Conditional

这个注解是一个根注解,在满足相应条件时才进行注入,改注解有许多的扩展注解
在这里插入图片描述

常见注解作用如下

在这里插入图片描述
这些注解可以作用到类上,也可以作用到方法上,只有满足条件组件才会被注入到容器中,下面通过一个@ConditionalOnJava来进行演示。改注解可以判断系统的java版本是否符合要求
在这里插入图片描述

这个方法上的注解就表示只有java版本为9时才会注入名为dahei的注解,我的java版本为8

在这里插入图片描述
发现容器中并没有为dahei的组件
在这里插入图片描述
下面将条件设置成为8
在这里插入图片描述
再次获取组件为dahei的,没有问题
在这里插入图片描述
其它的注解用法类似,依次类推即可

@ImportResource

这个注解用于原生配置文件引入, 也就是可以直接导入 Spring 传统的 beans.xml ,可以认
为是 SpringBoot 对 Spring 容器文件的兼容.
在这里插入图片描述
下面我们创建一个spring配置文件,并且配置了一个id为wangcai的Dog
在这里插入图片描述
我们通过@ImportResource进行引入
在这里插入图片描述
可以发现我们引入时可以指定位置,下面在配置类上进行引入
在这里插入图片描述
下面来测试一下是否引入成功
在这里插入图片描述
可以发现已经成功引入了

配置绑定

我们可以通过@ConfigurationProperties这个注解去读取配置文件中的内容,这样容器中bean的属性会去绑定配置文件中的属性
在这里插入图片描述
下面创建了一个People类,该类会去读取前缀为people的信息
在这里插入图片描述
可以发现出现了爆红提示,这个可以忽略,我们也可以引入一个jar来进行解决

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
</dependency>

下面我们获取一些id为people的组件,查看属性是否成功绑定

在这里插入图片描述
可以发现没有问题。对于属性绑定,我们还可以使用另外一个注解@EnableConfigurationProperties
在这里插入图片描述
这个注解的功能可以开启bean的配置绑定功能,还会将其自动注册到容器。我们在配置类上使用该注解将People注入到容器
在这里插入图片描述
注意: 我们需要将People上的@Component取消掉
在这里插入图片描述
看下是否绑定成功
在这里插入图片描述
可以发现已经成功完成了属性的绑定。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:12:25  更:2022-11-05 00:14:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 -2025/3/10 18:26:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码