SpringBoot 配置文件使用

配置文件参数

#修改项目的虚拟路径
server.servlet.context-path=/hello

配置文件优先级

#第一
application.properties
#第二
application.yml
#第三
application.yaml

获取配置数据

#优先级第三
#大小写敏感
#数据值前必须有空格, 作为分隔符
#使用缩进代表层级关系, 但是不允许用TAB, 要用空格, 空格数不重要, 只要相同层级对齐即可
msg1: 'hello \n world' #不识别转义字符, 原样输出
msg2: "hello \n world" #识别转义字符

person1:
  name1: ${msg1}
  age1: 18
person2: {name2: zhangsan}

address1:
  - beijing1
  - shanghai1
address2: [beijing2,shanghai2]

server:
  port: 8082

@RestController
public class HelloController {
    @Value("${person1.name1}")
    private String name1;
	
	@RequestMapping("/test")
    public String test(){
        return name1;
    }
}

@RestController
public class HelloController {
    @Autowired
    private Environment environment;

    @RequestMapping("/test")
    public String test(){
        return environment.getProperty("address1[0]");
    }
}

@Component //让类被spring识别, 类似Bean
@ConfigurationProperties(prefix = "person1") //用来识别配置文件中的对象前缀
public class Person {
    private String name1;
    private int age1;
	//省略GetSet构造以及toString方法
}

@RestController
public class HelloController {
    @Autowired
    private Person1 person1;

    @RequestMapping("/test")
    public String test(){
        System.out.println(person1);
        return "person1";
    }
}
<!--识别ConfigurationProperties, 配置文件会有提示-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
</dependency>

通过配置文件区分开发, 测试, 生产环境

多文件方式
#一种约定俗成的叫法

#除了properties也可以使用yaml配置文件

#用来指定运行哪种环境的配置文件
application.properties

#开发环境
application-dev.properties

#测试环境
application-test.properties

#生产环境
application-pro.properties
#在application.properties中指定开发环境
spring.profiles.active=dev
yml多文档方式
---
server:
  port: 8081

spring:
  profiles: dev
---
server:
  port: 8082

spring:
  profiles: test
---
server:
  port: 8083

spring:
  profiles: pro
---
spring:
  profiles:
    active: dev

![[Pasted image 20210710152614.png]]

内部配置文件优先级

#内部配置文件指的是application.properties

#第1. 项目根目录的config文件夹
#第2. 项目根目录
#第3. templates目录的config文件夹
#第4. templates根目录

#注意: 项目根目录以及根目录的config文件夹是不会被打进jar包的, 不符合规范

命令行指定配置

#只要在命令行输入配置, 再在前面加一个--
#java -jar springboot.jar --spring.config.name=project
java -jar springboot.jar --server.port=8081

命令行加载配置文件

#默认指定与jar包同级的配置文件
java -jar springboot.jar --spring.config.location=e://application.properties

单元测试

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Springboot01Application.class)
public class test {
    @Autowired
    private UserService userService;
    
    @Test
    public void testAdd(){
        userService.add();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值