读取配置文件属性



 
        
1
package com.ycb.app.provider.utils;
2
3
import org.springframework.beans.BeansException;
4
import org.springframework.core.io.support.PropertiesLoaderUtils;
5
6
import java.io.IOException;
7
import java.io.UnsupportedEncodingException;
8
import java.util.HashMap;
9
import java.util.Map;
10
import java.util.Properties;
11
12
public class PropertyUtil {
13
    private static Map<String, String> propertiesMap = new HashMap<>();
14
    // Default as in PropertyPlaceholderConfigurer
15
16
17
    public static void processProperties( Properties props) throws BeansException {
18
19
        propertiesMap = new HashMap<String, String>();
20
        for (Object key : props.keySet()) {
21
            String keyStr = key.toString();
22
23
            try {
24
                //PropertiesLoaderUtils的默认编码是ISO-8859-1,在这里转码一下
25
                propertiesMap.put(keyStr, new String(props.getProperty(keyStr).getBytes("ISO-8859-1"),"utf-8"));
26
            } catch (UnsupportedEncodingException e) {
27
                e.printStackTrace();
28
            }catch (java.lang.Exception e){
29
                e.printStackTrace();
30
            };
31
        }
32
        System.out.println(propertiesMap);
33
    }
34
    public static void loadAllProperties(){
35
        try {
36
37
            Properties properties = PropertiesLoaderUtils.loadAllProperties("bootstrap.properties");
38
            processProperties(properties);
39
        } catch (IOException e) {
40
            e.printStackTrace();
41
        }
42
    }
43
44
    public static String getProperty(String name) {
45
        return propertiesMap.get(name).toString();
46
    }
47
48
    public static void main(String[] args) {
49
        System.out.println("获取配置文件属性"+PropertyUtil.getProperty("spring.application.name"));
50
    }
51
}
52
 
       
1
package com.ycb.app.provider;
2
3
import com.ycb.app.provider.listener.ApplicationStartUpListener;
4
import org.springframework.boot.SpringApplication;
5
import org.springframework.boot.autoconfigure.SpringBootApplication;
6
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
7
8
9
@SpringBootApplication
10
@EnableDiscoveryClient
11
public class AppProviderApplication {
12
    public static void main(String[] args) {
13
        SpringApplication application = new SpringApplication(AppProviderApplication.class);
14
        application.addListeners(new ApplicationStartUpListener());
15
        application.run(args);
16
    }
17
}
18
19
1
package com.ycb.app.provider.listener;
2
3
import com.ycb.app.provider.utils.PropertyUtil;
4
import org.springframework.boot.context.event.ApplicationStartedEvent;
5
import org.springframework.context.ApplicationListener;
6
7
public class ApplicationStartUpListener implements ApplicationListener<ApplicationStartedEvent> {
8
9
10
    @Override
11
    public void onApplicationEvent(ApplicationStartedEvent event) {
12
        PropertyUtil.loadAllProperties();
13
        System.out.println("ApplicationStartUpListener EXEC");
14
    }
15
}












 
         
1
package com.ycb.app.provider.utils;
2
3
import org.springframework.beans.BeansException;
4
import org.springframework.core.io.support.PropertiesLoaderUtils;
5
6
import java.io.IOException;
7
import java.io.UnsupportedEncodingException;
8
import java.util.HashMap;
9
import java.util.Map;
10
import java.util.Properties;
11
12
public class PropertyUtil {
13
    private static Map<String, String> propertiesMap = new HashMap<>();
14
    // Default as in PropertyPlaceholderConfigurer
15
16
17
    public static void processProperties( Properties props) throws BeansException {
18
19
        propertiesMap = new HashMap<String, String>();
20
        for (Object key : props.keySet()) {
21
            String keyStr = key.toString();
22
23
            try {
24
                //PropertiesLoaderUtils的默认编码是ISO-8859-1,在这里转码一下
25
                propertiesMap.put(keyStr, new String(props.getProperty(keyStr).getBytes("ISO-8859-1"),"utf-8"));
26
            } catch (UnsupportedEncodingException e) {
27
                e.printStackTrace();
28
            }catch (java.lang.Exception e){
29
                e.printStackTrace();
30
            };
31
        }
32
        System.out.println(propertiesMap);
33
    }
34
    public static void loadAllProperties(){
35
        try {
36
37
            Properties properties = PropertiesLoaderUtils.loadAllProperties("bootstrap.properties");
38
            processProperties(properties);
39
        } catch (IOException e) {
40
            e.printStackTrace();
41
        }
42
    }
43
44
    public static String getProperty(String name) {
45
        return propertiesMap.get(name).toString();
46
    }
47
48
    public static void main(String[] args) {
49
        System.out.println("获取配置文件属性"+PropertyUtil.getProperty("spring.application.name"));
50
    }
51
}
52
 
        
1
package com.ycb.app.provider;
2
3
import com.ycb.app.provider.listener.ApplicationStartUpListener;
4
import org.springframework.boot.SpringApplication;
5
import org.springframework.boot.autoconfigure.SpringBootApplication;
6
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
7
8
9
@SpringBootApplication
10
@EnableDiscoveryClient
11
public class AppProviderApplication {
12
    public static void main(String[] args) {
13
        SpringApplication application = new SpringApplication(AppProviderApplication.class);
14
        application.addListeners(new ApplicationStartUpListener());
15
        application.run(args);
16
    }
17
}
18
19
1
package com.ycb.app.provider.listener;
2
3
import com.ycb.app.provider.utils.PropertyUtil;
4
import org.springframework.boot.context.event.ApplicationStartedEvent;
5
import org.springframework.context.ApplicationListener;
6
7
public class ApplicationStartUpListener implements ApplicationListener<ApplicationStartedEvent> {
8
9
10
    @Override
11
    public void onApplicationEvent(ApplicationStartedEvent event) {
12
        PropertyUtil.loadAllProperties();
13
        System.out.println("ApplicationStartUpListener EXEC");
14
    }
15
}












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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值