首页 > 编程知识 正文

springboot核心配置文件格式,springboot核心配置文件application的作用

时间:2023-05-04 20:06:35 阅读:198635 作者:1903

一、核心配置文件

(1)application.properties

(2)application.yml

(3)原理一样,格式不同,当两种格式的核心配置文件同时存在时,2.4.0以上的版本的SpringBoot优先使用以.yml为后缀的核心配置文件,2.4.0以下版本的SpringBoot优先使用.properties为后缀的核心配置文件。

(4)其他相关配置可查询

https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

二、自定义配置信息&属性注入

属性注入(将配置文件内的属性注入都对应的类对象当中)

(1)@Value:在配置文件内定义好学生信息,在学生类中使用注解@Value注入

package com.cld.demo.bean;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;@Componentpublic class Student { @Value("${student.name}") private String name; @Value("${student.classes}") private String classes; public String getName() { return name; } public String getClasses() { return classes; }} @Autowired Student student; @Test public void testStudent(){ System.out.println("学生姓名:" + student.getName()); System.out.println("学生班级:" + student.getClasses()); }

(2)@ConfigurationProperties(prefix = "teacher"):在配置文件内定义好教师信息,在教师类内批量注入(教师类内需要提供setter方法,才能够注入)

package com.cld.demo.bean;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.PropertySource;import org.springframework.stereotype.Component;@Component@ConfigurationProperties(prefix = "teacher")public class Teacher { private String name;//姓名 private Integer age;//年龄 private String classes;//班级 public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getClasses() { return classes; } public void setClasses(String classes) { this.classes = classes; }} @Autowired Teacher teacher; @Test public void testTeacher(){ System.out.println("教师姓名:" + teacher.getName()); System.out.println("教师年龄:" + teacher.getAge()); System.out.println("教师班级:" + teacher.getClasses()); } 三、自定义配置文件和自定义配置类

1、@PropertySource加载自定义配置文件:当把所有的配置信息都写在核心配置文件的时候,就会出现配置文件配置信息内容过多,不便查询和修改没课自定义配置存放不同情况的配置信息。要使用自定义配置文件,需要加载 

新建自定义配置文件teacher.properties

在Teacher类内指定加载teacher.properties文件,并进行属性注入

注意:@PropertySource("classpath:teacher.properties")只能够加载properties格式的配置文件

2、@Configuration定义配置类,@Bean 注册Bean组件到IOC容器中

(1)定义一个MyService类

(2)编写MyConfig配置类

3、@ImportResource加载xml配置文件

(1)配置文件Beans.xml

(2)启动类加上@ImportResource("classpath:beans.xml")

四、多环境配置

1、配置文件命名标识:application-(文件标识名).properties

分别编写测试环境的配置文件application-test.properties和生产环境的配置文件application-dev.properties,在核心配置文件application.properties里面通过spring.Profiles.active属性激活配置环境。

2、@Profile注解:标识不同的配置环境,作用于类

(1)配置类内编写

(2)激活

方式一:在核心配置文件内通过spring.profiles.active属性激活

方式二:@ActiveProfile激活@SpringBootTest@ActiveProfiles("service1")class DemoApplicationTests { @Autowired MyService myService; @Test public void testProfile(){ System.out.println(myService.say()); }}

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。