从零开始学SpringBoot-application.properties配置文件使用

        上一篇文章中,在SpringBoot官网上通过直接生成方式,将生成的demo解压后导入到Eclipse开发环境中,其中有个目录src/main/resources中有个application.properties文件,默认是空的,这篇文章就主要是来简单理解application.properties,如何配置参数并使用,例如部分变量设置初始值,MyBatis数据库连接的参数等等。

    在SpringBoot框架中,有两种文件配置,一种为application.properties,一种是application.yml,本篇文章主要以application.properties为例来验收对应的DEMO示例,对于yml后缀的配置,大家可以百度下,很简单。

1.两种配置文件的区别(以Mybatis连接MYSQL数据参数配置为例)

在application.properties配置文件中的写法:

spring.datasource.url=jdbc:mysql://localhost:3306/ssm?useSSL=false
spring.datasource.username=root
spring.datasource.password=admin
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

在application.yml配置文件中的写法:

spring:
	datasource:
		url: jdbc:mysql://localhost:3306/ssm?useSSL=false
		username: root
		password: admin

		driver-class-name: com.mysql.jdbc.Driver

2.获取配置参数(在官网下载的Demo示例下完成下面的示例,对应的输出结果大家可以自己验证)

application.properties配置文件中参数准备:

name=chenyanwu
age=10

1)通过ApplicationContext上下文获取

@SpringBootApplication
public class DemoApplication {

	public static void main(String[] args) {
		ConfigurableApplicationContext app = SpringApplication.run(DemoApplication.class, args);
		// application.properties文件中的name=chenyanwu
		System.out.println(app.getEnvironment().getProperty("name"));
	}
}

2)通过@Value注解来获取

@RestController
public class HelloWorldController {
	
	@Value("${name}")
	private String name;
	@Value("${age}")
	private int age;
	
	@RequestMapping("/getUser")
	public String getUser() {
		return "name: " + name + ";age:" + age;
	}
}

在地址栏输入:http://localhost:8080/getUser

3)通过@ConfigurationPorperties注解来获取

先创建一个Person类,为这个对象赋值显示(使用了@Value和@ConfigurationPorperties注解)

@Component
@ConfigurationProperties(prefix="user")
public class Person {
	@Value("${name}")
	private String name;
	
	@Value("${age}")
	private Integer age;
	private String addr;
	
	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 getAddr() {
		return addr;
	}

	public void setAddr(String addr) {
		this.addr = addr;
	}

	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + ", addr=" + addr + "]";
	}
}
实现代码
@Autowired
private Person person;
	
@RequestMapping("/getPerson")
public String getPerson() {
    return person.toString();
}
在浏览器中输入:http://localhost:8080/getPerson


        文章中的示例都是将需要讲解的内容对应的代码进行了粘贴,如果有疑问,可以留言一起讨论!

扫描关注:全栈工程师成长记


  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值