目標
Spring Boot使用了一個全局的配置文件application.properties,放在src/main/resources目錄下或者類路徑的/config下。
Sping Boot的全局配置文件的作用是對一些默認配置的配置值進行修改
實踐
自定義屬性
在application.properties
com.nuc.name="中北大學"
com.nuc.want="oooo"
直接在要使用的地方通過註解@Value(value=”${config.name}”)就可以綁定到你想要的屬性上面
userController
@RestController
public class UserController {
@Value("${com.nuc.name}")
private String name;
@Value("${com.nuc.want}")
private String want;
@RequestMapping("/")
public String hexo(){
return name+","+want;
}
}
SpringBoot1Application(啓動)
@SpringBootApplication
public class SpringBoot1Application {
public static void main(String[] args) {
SpringApplication.run(SpringBoot1Application.class, args);
}
}
效果圖
對象
當屬性過多時,轉化成一個對象。
ConfigBean(使用lombok插件 省略 set 和 get 方法)
@Data
@ConfigurationProperties(prefix = "com.nuc")
public class ConfigBean {
private String name;
private String want;
}
ConfigController
@RestController
public class ConfigController {
@Autowired
ConfigBean c;
@RequestMapping("/user")
public String hexo(){
return c.getName()+c.getWant();
}
}
SpringBoot1Application(啓動)
@SpringBootApplication
@EnableConfigurationProperties({ConfigBean.class})
public class SpringBoot1Application {
public static void main(String[] args) {
SpringApplication.run(SpringBoot1Application.class, args);
}
}
效果圖
pom.xml 文件詳情(部分)
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!--lombok 插件 省略set和get方法-->
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
</dependencies>