
方法一:@Value获取属性值
首先在application.properties中添加属性值
app.name=MyApp app.description=${app.name} is a Spring Boot application
编写工具类,通过注解@Value获取属性值(类名这里就不讲究命名规范了)
package com.example.spdemo; 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; } }
调用工具类,输出属性值
package com.example.spdemo.controller; 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
package com.example.spdemo.controller; 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"),保持属性名与类成员属性名一致即可。