java配置文件的后缀_Java-配置文件

一、ResourceBundle

优点:可以在非Web应用中读取资源文件

缺点:只能加载类classes下面的资源文件且只能读取.properties文件

1. 配置文件放在classpath(resource源包下)不用加后缀properties

ResourceBundle bundle = ResourceBundle.getBundle("config");

二、getResourceAsStream

优点:可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息

缺点:只能加载类classes下面的资源文件

1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取,最终还是由ClassLoader获取资源。

2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。

3. ServletContext. getResourceAsStream(String path):默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓,当然这和具体的容器实现有关。

三、PropertiesLoaderUtils

缺点:由spring提供,只能加载类classes下面的资源文件

Properties properties = PropertiesLoaderUtils.loadAllProperties("config.properties");

1. @Value("${...}")主要用于加载外部属性文件中的值

@Value("${mat.server.port}")

private Integer port;

2. @Value("#{...}")用于执行SpEl表达式,并将内容赋值给属性

// SpEL: 调用字符串的getBytes方法,然后调用length属性

@Value("#{'Hello World'.bytes.length}")

private String helloWorldbytes;

3. @Value("#{${...}}")混合使用,必须#{}在外面,${}在里面

// SpEL: 传入一个字符串,根据","切分后插入列表中, #{}和${}配置使用(注意单引号)

@Value("#{'${server.name}'.split(',')}")

private List servers;

五、Environment

@Autowired

private Environment env;

六、@ConfigurationProperties

@ConfigurationProperties(locations = "classpath:param.properties", prefix = "param")

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值