javaWeb_读取配置文件

方法一:直接读取文件

public class ApiUrl {

public static ApiUrl getInstance(){

if (null == instance){

instance = new ApiUrl();

instance.initParams();

}

return instance;

}

private void initParams(){

     InputStream in = getClass().getClassLoader().getResourceAsStream("/interface.properties");

     Properties propertise = new Properties();

     try {

propertise.load(in);

         for (Map.Entry<Object, Object> prop : propertise.entrySet()){

         String propertyName = (String)prop.getKey();

         String propertyValue = (String)prop.getValue();

         switch (propertyName){

         case "UserName":

             name= propertyValue;

         break;

         }

         }

         

} catch (IOException e) {

e.printStackTrace();

}

}

private ApiUrl(){}

private static ApiUrl instance;

private String name;

}

 

方法二:使用分散配置:

新创建一个data.properties文件,内容如下:

UserName=张三

Age=23

使用spring的特殊bean来完成。

<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">

<property name="locations">

<list>

<value>classpath:data.properties</value>

</list>

</property>

</bean>

然后就可以在xml配置文件中引用配置:

<bean id="userService" class="com.service.UserService">

<property name="name" value="${UserName}"/>

<property name="age" ref="${Age}"/>

</bean>

 

也可以在类中直接使用:

@Configuration

public class UserConfig {

    @Value("${UserName}")

    private String userName;

 

    @Value("${Age}")

    private String age;

}

 

方法三:自定义分散配置类

 

public class PropertyConfigurerUtils extends PropertyPlaceholderConfigurer {

    private static Map<String, String> propertiesMap = new HashMap<String, String>();

 

    @Override

    protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException {

        super.processProperties(beanFactoryToProcess, props);

        for (Object key : props.keySet()) {

            String keyStr = key.toString();

            String value = props.getProperty(keyStr);

            System.out.println(key+" : " +value);

            propertiesMap.put(keyStr, value);

        }

    }

 

    public static String getProperty(String name) {

        return propertiesMap.get(name);

    }

}

spring配置文件中配置:

    <bean class="cn.harvetech.util.common.PropertyConfigurerUtils">

        <property name="locations">

            <list>

                <value>classpath:system.properties</value>

                <value>classpath:config.properties</value>

            </list>

        </property>

    </bean>

使用的时候:

PropertyConfigurerUtils.getProperty(Const.CANCEL_MESSAGE);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值