Spring Boot读取配置的几种方式

读取application文件

在application.yml或者properties文件中添加:

info.address=USA
info.company=Spring
info.degree=high

@Value注解读取方式

12345678910111213141516171819202122232425262728293031323334353637383940
import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;

@Componentpublic class InfoConfig1 {

	@Value("${info.address}")	private String address;

	@Value("${info.company}")	private String company;

	@Value("${info.degree}")	private String degree;

	public String getAddress() {		return address;	}

	public void setAddress(String address) {		this.address = address;	}

	public String getCompany() {		return company;	}

	public void setCompany(String company) {		this.company = company;	}

	public String getDegree() {		return degree;	}

	public void setDegree(String degree) {		this.degree = degree;	}

}

@ConfigurationProperties注解读取方式

123456789101112131415161718192021222324252627282930313233
@Component@ConfigurationProperties(prefix = "info")public class InfoConfig2 {

	private String address;	private String company;	private String degree;

	public String getAddress() {		return address;	}

	public void setAddress(String address) {		this.address = address;	}

	public String getCompany() {		return company;	}

	public void setCompany(String company) {		this.company = company;	}

	public String getDegree() {		return degree;	}

	public void setDegree(String degree) {		this.degree = degree;	}

}

读取指定文件

资源目录下建立config/db-config.properties:

db.username=root\
db.password=123456

@[email protected]注解读取方式

123456789101112131415161718192021222324252627
@Component@PropertySource(value = { "config/db-config.properties" })public class DBConfig1 {

	@Value("${db.username}")	private String username;

	@Value("${db.password}")	private String password;

	public String getUsername() {		return username;	}

	public void setUsername(String username) {		this.username = username;	}

	public String getPassword() {		return password;	}

	public void setPassword(String password) {		this.password = password;	}

}

注意:@PropertySource不支持yml文件读取。

@[email protected]注解读取方式

12345678910111213141516171819202122232425
@Component@ConfigurationProperties(prefix = "db")@PropertySource(value = { "config/db-config.properties" })public class DBConfig2 {

	private String username;	private String password;

	public String getUsername() {		return username;	}

	public void setUsername(String username) {		this.username = username;	}

	public String getPassword() {		return password;	}

	public void setPassword(String password) {		this.password = password;	}

}

Environment读取方式

以上所有加载出来的配置都可以通过Environment注入获取到。

12345
@Autowiredprivate Environment env;

// 获取参数String getProperty(String key);

总结

从以上示例来看,Spring Boot可以通过@PropertySource,@Value,@Environment,@ConfigurationProperties来绑定变量。

http://www.javastack.cn/article/2017/spring-boot-load-config/

原文地址:https://www.cnblogs.com/panchanggui/p/10764090.html

时间: 2024-07-29 20:53:52

Spring Boot读取配置的几种方式的相关文章

spring boot读取配置的三种方式

首先我们在application.yml就简单定义一个端口号的配置吧. 1:Environment:通过Environment的getProperty方法来获取想要的配置信息  如下图: 2:@Value 可以注入具体的配置信息 如下图: 3:自定义配置类:prefix定义配置的前缀 如下图: 然后注入到 其他的类中 以上的三种方式获配置文件的信息 原文地址:https://www.cnblogs.com/thisisme/p/12116965.html

Spring Boot 整合 Shiro ,两种方式全总结!

在 Spring Boot 中做权限管理,一般来说,主流的方案是 Spring Security ,但是,仅仅从技术角度来说,也可以使用 Shiro. 今天松哥就来和大家聊聊 Spring Boot 整合 Shiro 的话题! 一般来说,Spring Security 和 Shiro 的比较如下: Spring Security 是一个重量级的安全管理框架:Shiro 则是一个轻量级的安全管理框架 Spring Security 概念复杂,配置繁琐:Shiro 概念简单.配置简单 Spring

创建 Spring Boot 项目常用的两种方式

在开发中,常用的创建的 Spring Boot 项目方式有两种,一种是使用 Spring Initializr , 一种是创建一个 Maven 工程,导入 Spring Boot 的依赖 使用 IDEA 的 Spring Initializr 的方式 选择 IDEA 的 File -> New -> Project 选择 Spring Initializr ,如下图: 在 Project Metadata 页面,输入 Group, Artifact ,Version, Name, Descri

Spring管理事务配置的五种方式

spring配置文件中关于事务配置总是由三个组成部分,DataSource.TransactionManager和代理机制这三部分,无论是那种配置方法,一般变化的只是代理机制这块! 首先我创建了两个类,一个接口类一个实现类: package com.dao; public interface UserDao { public void getUser(); } package com.dao.impl; import org.springframework.orm.hibernate3.supp

spring boot返回Josn的两种方式

1.Controller类上加@RestController注解 2.Controller类上加@Controller注解,Action接口上加@ResponseBody注解 @Responsebody与@RequestBody @Responsebody表示该方法的返回结果直接写入HTTP response body中 一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径, 加上@Responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP

Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别

转: http://blog.csdn.net/it_man/article/details/5074371 Spring事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪

【转】 Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别

spring事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSource.TransactionManager这两部分

Spring事务配置的五种方式

Spring事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSource.TransactionManager这两部分

Spring事务Transaction配置的五种注入方式详解

Spring事务Transaction配置的五种注入方式详解 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. ??? 总结如下: ??? Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. ???DataSou