免费资源网 – https://freexyz.cn/
目录
- 方案1
- 方案2
- 方案3
- 方案4
- static静态方法读取配置
- 总结
方案1
使用PropertiesLoaderUtils
import java.util.Properties;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.PropertiesLoaderUtils;
public static Properties readPropertiesFile(String fileName) {
try {
Resource resource = new ClassPathResource(fileName);
Properties props = PropertiesLoaderUtils.loadProperties(resource);
return props;
} catch (Exception e) {
System.out.println("读取配置文件:" + fileName + "异常,读取失败");
e.printStackTrace();
}
return null;
}
Properties properties = readPropertiesFile("application.properties");
System.out.println(properties.getProperty("spring.rabbitmq.host"));
方案2
使用Environment
import org.springframework.core.env.Environment;
@Autowired
private Environment environment;
System.out.println(environment.getProperty("spring.rabbitmq.host"));
方案3
使用@Value
import org.springframework.beans.factory.annotation.Value;
@Value("${spring.rabbitmq.host}")
private String rabbitmqHost;
System.out.println(rabbitmqHost);
方案4
使用@ConfigurationProperties
属性类
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
@Getter
@Setter
@ConfigurationProperties(prefix = "spring.rabbitmq")
public class TestProperties {
private String host;
private String port;
private String username;
private String password;
}
注册属性配置类
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@EnableConfigurationProperties(TestProperties.class)
@SpringBootConfiguration
public class TestConfiguration {
}
使用配置类
@Autowired private TestProperties testProperties; System.out.println(testProperties.getHost());
static静态方法读取配置
@Component
public class UserUtil {
// 使用@Value注解读取配置
@Value("${user.name}")
private String name;
// 设置静态成员变量用来接收@Value注入的值
private static String userName;
// 使用@PostConstruct注解用于静态变量赋值
@PostConstruct
public void getUserName() {
userName = this.name;
}
// 测试方法静态变量是否被赋值
public static String test() {
return userName;
}
}
调用示例:
String name = UserUtil.test();
使用 @Component 属性注解说明是需要在启动类 Application 启动的时候加载。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
免费资源网 – https://freexyz.cn/
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)