方法一:@Value获取属性值
首先在application.properties中添加属性值
app.name=MyApp
app.description=${app.name} is a Spring Boot application
编写工具类,通过注解@Value获取属性值(类名这里就不讲究命名规范了)
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class Mytest {
@Value("${app.name}")
private String appName;
@Value("${app.description}")
private String appDescription;
public String getAppName() {
return appName;
}
public String getAppDescription() {
return appDescription;
}
}
调用工具类,输出属性值
import com.example.spdemo.Application;
import com.example.spdemo.Mytest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class Index {
@Autowired
private Mytest mytest;
@RequestMapping("/")
public String HelloWorld(){
System.out.println();
System.out.println(mytest.getAppName());
System.out.println(mytest.getAppDescription());
return "Hello World !";
}
}
方法二:@ConfigurationProperties
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@ConfigurationProperties(prefix = "app")
public class Index {
private String name;
private String description;
@RequestMapping("/")
public String getProps() {
return name + "|" + description;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
如果配置没有app的前缀的话,去掉注解中的(prefix = "app"),保持属性名与类成员属性名一致即可。