java加载properties配置文件的几种方法

摘要:
}publicstaticvoinitiProperties(){properties=newProperties();in.close();resource=newPropertiesUtil().getProperties();StringserverAddress=resource.getProperty(“socket.server.address”);

 自由自在 废话省略...

1.普通方法 直接上我写的一共配置文件获取类:

配置文件

socket.server.address = 127.0.0.1
socket.server.port = 8511
socket.connect.timeout = 3000
package com.adao.common;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;

/**
 * 配置
 * 
 * @author adao
 *
 */
@Component
public class PropertiesUtil {
    private final static Logger logger = Logger.getLogger(PropertiesUtil.class);

    private static Properties properties;

    public Properties getProperties() {
        return properties;
    }

    public static void initProperties() {
        properties = new Properties();
        try {
            InputStream in = PropertiesUtil.class.getClassLoader().getResourceAsStream("application.properties");
            properties.load(in);
            in.close();
            logger.error("配置文件加载完毕. ");
        } catch (IOException e) {
            logger.error("配置文件加载发生异常. ", e);
        }
    }

    public static Properties loadProperties() throws IOException {
        Properties properties = new Properties();
        InputStream in = PropertiesUtil.class.getClassLoader().getResourceAsStream("application.properties");
        properties.load(in);
        in.close();
        return properties;
    }

}

获取方法:

    resource = new PropertiesUtil().getProperties();
       String serverAddress = resource.getProperty("socket.server.address");
    int serverPort = Integer.valueOf(resource.getProperty("socket.server.port"));
    int connectTimeout = Integer.valueOf(resource.getProperty("socket.connect.timeout")); // 超时时间

2.springboot加载配置文件:

1.配置文件

connection.username=adao
connection.password=adao@126.com

2.定义一个实体类在装载配置文件信息

@Component
@ConfigurationProperties(prefix="connection")
public class ConfigProperties{
    private String username;
    private String password ;
 
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
 
}

3.在App类中配置bean的配置文件

   @SpringBootApplication
   public class DemoApplication{
    //...
   @Resource
   private  ConfigProperties  configProperties;
 
    @Bean
    public JavaClass  javaclass (){
   
    JavaClass  javaClass = new JavaClass();
    javaClass.setxxx("",configProperties.getUsername());
    javaClass.setxxx("",configProperties.getPassword() );
 
    return javaClass;
    }
 
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

或 在项目中,获取properties配置文件属性

  @RestController
  @RequestMapping("/user")
  public class  UserController {
 
  @Autowired 
  private ConfigProperties config;
 
  @RequestMapping("getproper")
  public String userInfo(){
       String userName = config.getUsername();     
      return userName;
    }
}

免责声明:文章转载自《java加载properties配置文件的几种方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇嵌入式开发之web---vue-demo webstorm goahead 嵌入式智能设备.net core Swagger添加bearer token参数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python爬取中文页面的时候出现的乱码问题

一、读取返回的页面数据 在浏览器打开的时候查看源代码,如果在头部信息中指定了UTF-8 那么再python代码中读取页面信息的时候,就需要指定读取的编码方式: response.read().decode('utf-8') 二、把中文数据写入到文件的时候 python默认的是按照ACSII的编码往外写,所以中文数据往外写肯定会出现乱码 那么再往外写入文件的...

Bash实现读写ini文件

读取ini文件 ini文件中可以存在以#和;作为注释的部分,不会影响读取的结果。函数如下 1 #!/usr/bin/env bash 2 #------------------------------------------------------- 3 # FileName : Bash读取ini文件.sh 4 # Author...

beamer的安装和使用

想用latex做幻灯片,以前零星看过,知道beamer,但感觉好像挺麻烦,一直没做。 今天google一下,很多相关的结果。 参照这个页面进行安装:http://dsec.pku.edu.cn/~yuhj/wiki/TeXSlides.html --------------------------------------------------------...

快速集成华为AGC云存储服务-Android

华为AppGallery Connect提供了一个云存储(CloudStorage)的服务,号称提供了一个便捷的云端存储服务,应用开发者使用的时候,可以不用关注服务器的部署,直接使用就行。 目前这个功能还在bate阶段,我先抢先体验了一下。如果你想快速体验云存储服务的功能,请参考demo。 1、环境与应用信息 版本名称 集成环境 测试设备 agco...

SSH三大框架整合步骤

Struts2:需要整合的第一个框架: 1.创建一个动态web项目 2.导入struts2必须的jar 放到 lib目录下 ,再 build path 添加web工程中 3.配置struts2的核心配置文件:struts.xml 4.在web.xml文件中添加struts2的核心过滤器 5.添加测试页面 6.导入tomcat jar包 对j2e...

文件异步上传

本文摘抄自网络 XHR对象还有一个属性upload, 它返回一个XMLHttpRequestUpload 对象,这个对象拥有下列下列方法: onloadstart onprogress onabort onerror onload ontimeout onloadend 这些方法在XHR对象中都存在同名版本,区别是后者是用于加载资源时,而前者用于资源上...