- 配置变量
演示错误操作:
- 在application.yml文件中
spring:
datasource:
url: jdbc:mysql://localhost:3306/t311
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: false #使用驼峰命名法
#配置变量
username: 罗学敏
- 在controller层
@RestController
public class TestController {
@Value("${username}")
private String userName;
@GetMapping("getUN")
public String getUserName(){
return userName;
}
}
原因: username会其它同名,运行后会出现本机的名称
所以取一个不与username同名即可
正确操作:
#配置变量
usernames: 罗学敏
@RestController
public class TestController {
@Value("${usernames}")
private String userName;
@GetMapping("getUN")
public String getUserName(){
return userName;
}
}
二、配置数组
spring:
datasource:
url: jdbc:mysql://localhost:3306/t311
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: false #使用驼峰命名法
#配置变量
usernames: 罗学敏
#配置数组
#指定前缀,只有有一个
my:
arr: [1,2,3]
address:
- 益阳
- 长沙
- 浏阳
在创建一个实体类
package com.entity;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* 配置文件的注入
*/
@Component
@ConfigurationProperties(prefix = "my") //添加前缀
@Data
public class My {
private String[] address;
private int[] arr;
}
在controller层
@RestController
@Slf4j //日志操作
public class TestController {
@Value("${usernames}")
private String userName;
@Autowired
public My my; //创建一个对象
@GetMapping("getUN")
public String getUserName(){
log.info(my.toString());
return userName;
}
}
运行后
三、比较配置文件
1.Application.properties (1)配置文件 优先于 Application.yml (2)配置文件
2.在resources下建立一个config包(3) 优先于(1) (2)配置文件
运行后
3.在项目下面建立(4) 优先于(1) (2) (3)配置文件
4.在项目下面建立(5) 优先于(1) (2) (3) (4)配置文件
5.在app运行点击下面(6) 优先于(1) (2) (3) (4) (5)配置文件
-Dserver.port=14101
- 多环境配置
就会出现
profiles:
active: lxm
就会出现
spring:
config:
activate:
on-profile: lxm
整体如下:
spring:
datasource:
url: jdbc:mysql://localhost:3306/t311
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
profiles:
active: lxm
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: false #使用驼峰命名法
#配置数组
#指定前缀,只有有一个
my:
arr: [1,2,3]
address:
- 益阳
- 长沙
- 浏阳
server:
port: 10000
--- #区别不同的配置块/不同环境
spring:
config:
activate:
on-profile: lxm
#配置变量
usernames: 罗学敏
---
spring:
config:
activate:
on-profile: lw
#配置变量
usernames: 刘伟
如果更改activate
添加配置文件如下:
在app运行中添加
-Dspring.profiles.active=lw
- 服务器
除了常用的Tomcate 还有jetty jboss weblogic
使用jetty服务器
1.添加依赖
运行后