SpringBoot:配置相关知识点

SpringBoot:多环境配置

配置知识点demo:点击查看LearnSpringBoot02

点击查看更多的SpringBoot教程

一、@SpringBootApplication

@SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用,运行这个类的main方法来启动SpringBoot应用
SpringBoot:配置相关知识点_第1张图片

二、@Configuration

@Configuration 指明当前类是一个配置类,就是来替代之前的Spring配置文件
在配置文件里通过 标签来添加组件
SpringBoot:配置相关知识点_第2张图片
测试结果图
SpringBoot:配置相关知识点_第3张图片

三、配置文件注入

1、@ConfigurationProperties

将配置文件中的每一个属性的值,映射到这个组件中;
@ConfigurationProperties作用:告诉springboot 将本类中的所有属性和配置文件中相关的配置进行绑定;
prefix = “” 配置文件中哪个下面的所有属性进行一一映射
只有这个组件是容器中的组件,才能使用容器提供的@ConfigurationProperties功能;
支持JSR303进行配置文件值校验

2、 @Validated

@Validated的作用:对数据进行校验,只有在 ConfigurationProperties 配置里生效;
当校验不通过的时候,程序会抛出400异常,阻止方法中的代码执行,这时需要再写一个全局校验异常捕获处理类,然后返回校验提示。

示例person.java代码图
SpringBoot:配置相关知识点_第4张图片
SpringBoot:配置相关知识点_第5张图片

测试person配置类结果
SpringBoot:配置相关知识点_第6张图片

3、 @Value

@Value只能读取基本类型的数据,复杂类型的不支持;
不支持JSR303数据校验;

示例person2.java图
SpringBoot:配置相关知识点_第7张图片

@ImportResource

@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效:

示例LearnSpringBoot02Application.java代码
SpringBoot:配置相关知识点_第8张图片

beans.xml代码
SpringBoot:配置相关知识点_第9张图片

测试@ImportResource结果
SpringBoot:配置相关知识点_第10张图片

pom.xml代码

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.1.1</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example.springconfig</groupId>
	<artifactId>LearnSpringBoot02</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>LearnSpringBoot02</name>
	<description>Demo project for Spring Boot Config</description>
	<properties>
		<java.version>17</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<!--        JSR303数据校验-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-validation</artifactId>
		</dependency>

<!--
	导入配置文件处理器,配置文件进行绑定就会有提示
	https://docs.spring.io/spring-boot/docs/3.1.1/reference/html/configuration-metadata.html#appendix.configuration-metadata.annotation-processor
-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

你可能感兴趣的:(#,Spring,Boot,spring,boot,后端,java)