Spring boot(三) 配置文件

前言:上一篇简单介绍了利用 spring boot进行输出 hellow world,知道了Spring Boot使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。所以,我们要想把Spring Boot玩的溜,就要懂得如何开启各个功能模块的默认配置,这就需要了解Spring Boot的配置文件application.properties。

第一种,定义引用的属性特别少时,在属性字段上直接引用

实现方式:

Spring Boot使用了一个全局的配置文件application.properties,放在src/main/resources目录下或者类路径的/config下。Sping Boot的全局配置文件的作用是对一些默认配置的配置值进行修改。如果在创建maven项目时在resource文件夹下没有这个目录,这时就需要手动进行创建一个application.properties文件;并且application.properties配置文件支持自定义的一些属性,例如在配置文件中定义内容如下:

com.anshu.name="暗鼠"
com.anshu.speak="欢迎大家"
引用自定义配置文件如下
package com.decolor.application;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Test {
	//将自定义属性值赋值给指定属性
	@Value("${com.anshu.name}")
	private String name;
	
	@Value("${com.anshu.speak}")
	private String speak;

	@RequestMapping("/")
	public String testapplication(){
		return name+speak;
	}
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSpeak() {
		return speak;
	}

	public void setSpeak(String speak) {
		this.speak = speak;
	}
	
	
 
}

然后根据测试类中指定的访问路径进行访问;

二,当一个类中属性字段特别多时,spring boot官方提供了一个绑定一个对象bean,这里创建了一个user bean,但是在bean的顶部需要使用注解@ConfigurationProperties(prefix = “com.anshu”)来指明使用哪个


package com.decolor.application;

import org.springframework.boot.context.properties.ConfigurationProperties;

@ConfigurationProperties(prefix="com.anshu")
public class User {
	
	private String name;
	
	private String Speck;
	//get set方法在此省略
}
最后在启动类的顶部使用注解@EnableConfigurationProperties({User.class})来指明要加载那个类,如:
@SpringBootApplication
@EnableConfigurationProperties({User.class})
public class Application {
	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}
}
测试类中使用如下:
package com.decolor.application;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Test {
	@Autowired
	private User user;

	@RequestMapping("/")
	public String testapplication(){
		return user.getName()+user.getSpeak();
	}
	
	
	
 
}

三,使用自定义的配置文件
在src/main/resource文件夹下定义自定义的配置文件,如test.properties文件,配置文件内容如下:
com.anshu.name="暗鼠"
com.anshu.speak="欢迎您"
指定bean文件的引用如下:
@Configuration
@ConfigurationProperties(prefix="com.anshu")
@PropertySource("classpath:test.properties")
public class User {
测试类的注解配置不变

注意:不管是直接在属性上使用注解配置属性值,还是使用bean的方式进行绑定对象进行使用属性值,都要注意配置文件中的属性名称都要和属性或者bean中的属性值一致;
例;配置文件中的属性设置为:com.anshu.name="暗鼠",在bean中定义的属性也要为name,否则自定义属性值无法注入指定属性中

在配置文件中还可以进行配置随机值配置,或者是外部参数配置等,更多配置文件中内容参考spring boot官网:
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值