文档章节

spring启动时初始化properties文件

流萤飘枫丶
 流萤飘枫丶
发布于 2017/04/06 09:39
字数 87
阅读 16
收藏 0
点赞 0
评论 0

spring配置文件 

  <bean id="dataCenter" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="location" value="classpath:datacenter.properties"/>
    </bean>
@Data
@Component
public class DataCenter implements InitializingBean {

    //注入bean
    @Resource
    private Map<String,String> dataCenter;

    private String baseUrl;
    private Map<String,String> remoteCalls = new HashMap();

    static final String BASE_URL_PROPERTY_NAME = "bbd.datacenter.baseurl";
    static final String INTERFALCES_PREFIX="bbd.datacenter.remoteCall.";



    @Override
    public void afterPropertiesSet() throws Exception {
        dataCenter.entrySet().forEach(entry->{
            if(BASE_URL_PROPERTY_NAME.equals(entry.getKey())){
                baseUrl = entry.getValue();
            }else if(entry.getKey().startsWith(INTERFALCES_PREFIX)){
                remoteCalls.put(entry.getKey().replace(INTERFALCES_PREFIX,""),entry.getValue());
            }
        });
    }
}

 

© 著作权归作者所有

共有 人打赏支持
流萤飘枫丶
粉丝 9
博文 141
码字总数 104952
作品 0
成都
程序员
相同Bean分别被Spring MVC子容器与Spring父容器初始化,导致@Value注入失败

在车保养项目开发过程中,技术架构:Spring MVC + MyBatis;Service层接口中属性,如果使用注解@Value注入,不能够拿到Properties文件中拿到对应的key值;但在Spring配置文件applicationCont...

陶邦仁 ⋅ 2015/10/26 ⋅ 2

【Canal源码分析】Canal Server的启动和停止过程

本文主要解析下canal server的启动过程,希望能有所收获。 一、序列图 1.1 启动 1.2 停止 二、源码分析 整个server启动的过程比较复杂,看图难以理解,需要辅以文字说明。 首先程序的入口在C...

端木轩 ⋅ 05/24 ⋅ 0

spring4.0之二:@Configuration的使用

从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfi...

文文1 ⋅ 06/01 ⋅ 0

spring容器问题:解决图片服务器地址无法解析

项目中将图片服务器分离出来,相关配置单独配置到一个 properties 文件中,并使用spring管理该配置文件,如图: 使用的是Nginx 来负责图片服务的处理,关键配置如下: 启动项目进行图片上传的...

sprouting ⋅ 2016/05/13 ⋅ 0

spring boot 源码解析-SpringApplication初始化

前⾔ 我们⽣成⼀个spring boot 项⽬时,会⾃带⼀个启动类. 代码如下: 就是这么简单的代码,构成了spring boot的世界. 那么代码中只有⼀个@SpringBootApplication 注解 和 调⽤了SpringApplica...

小红牛 ⋅ 05/16 ⋅ 0

服务端常规知识详解

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。 1.前言 公司老项目的后台,均是基于spring框架搭建,其中还用到了log4j.jar等开源架包。...

李晓晖 ⋅ 2015/11/04 ⋅ 0

spring boot 源码解析2-SpringApplication初始化

前⾔ 我们⽣成⼀个spring boot 项⽬时,会⾃带⼀个启动类. 代码如下: 就是这么简单的代码,构成了spring boot的世界. 那么代码中只有⼀个@SpringBootApplication 注解 和 调⽤了SpringApplica...

调皮仔3683 ⋅ 05/15 ⋅ 0

Spring Boot魔法的背后

Spring Boot的魔法 Spring Boot是一个基于Spring的框架,遵循“约定胜于配置”的理念,提供一套方便的方法来快速创建可执行的Spring应用。具体来说,以往我们开发一个Java Web端或服务端程序...

jacobwu ⋅ 05/10 ⋅ 0

Spring Boot干货系列: (二)配置文件解析

     前言   上一篇介绍了Spring Boot的入门,知道了Spring Boot使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目...

后端编程嘟 ⋅ 2017/03/13 ⋅ 0

Spring Boot核心配置

启动类 在包根目录下添加启动类,必须包含main方法,再添加Spring Boot启动方法: 或者流式API 下面是一个典型的Spring Boot工程包布局,Application启动类位于根目录下 核心注解 启动类上面...

Java技术栈 ⋅ 06/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL 数据库设计总结

规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。 注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节...

OSC_cnhwTY ⋅ 42分钟前 ⋅ 0

多线程(四)

线程池和Exector框架 什么是线程池? 降低资源的消耗 提高响应速度,任务:T1创建线程时间,T2任务执行时间,T3线程销毁时间,线程池没有或者减少T1和T3 提高线程的可管理性。 线程池要做些什...

这很耳东先生 ⋅ 50分钟前 ⋅ 0

使用SpringMVC的@Validated注解验证

1、SpringMVC验证@Validated的使用 第一步:编写国际化消息资源文件 编写国际化消息资源ValidatedMessage.properties文件主要是用来显示错误的消息定制 [java] view plain copy edit.userna...

瑟青豆 ⋅ 今天 ⋅ 0

19.压缩工具gzip bzip2 xz

6月22日任务 6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具 6.1 压缩打包介绍: linux中常见的一些压缩文件 .zip .gz .bz2 .xz .tar .gz .tar .bz2 .tar.xz 建立一些文...

王鑫linux ⋅ 今天 ⋅ 0

6. Shell 函数 和 定向输出

Shell 常用函数 简洁:目前没怎么在Shell 脚本中使用过函数,哈哈,不过,以后可能会用。就像java8的函数式编程,以后获取会用吧,行吧,那咱们简单的看一下具体的使用 Shell函数格式 linux ...

AHUSKY ⋅ 今天 ⋅ 0

单片机软件定时器

之前写了一个软件定时器,发现不够优化,和友好,现在重写了 soft_timer.h #ifndef _SOFT_TIMER_H_#define _SOFT_TIMER_H_#include "sys.h"typedef void (*timer_callback_function)(vo...

猎人嘻嘻哈哈的 ⋅ 今天 ⋅ 0

好的资料搜说引擎

鸠摩搜书 简介:鸠摩搜书是一个电子书搜索引擎。它汇集了多个网盘和电子书平台的资源,真所谓大而全。而且它还支持筛选txt,pdf,mobi,epub、azw3格式文件。还显示来自不同网站的资源。对了,...

乔三爷 ⋅ 今天 ⋅ 0

Debian下安装PostgreSQL的表分区插件pg_pathman

先安装基础的编译环境 apt-get install build-essential libssl1.0-dev libkrb5-dev 将pg的bin目录加入环境变量,主要是要使用 pg_config export PATH=$PATH:/usr/lib/postgresql/10/bin 进......

玛雅牛 ⋅ 今天 ⋅ 0

inno安装

#define MyAppName "HoldChipEngin" #define MyAppVersion "1.0" #define MyAppPublisher "Hold Chip, Inc." #define MyAppURL "http://www.holdchip.com/" #define MyAppExeName "HoldChipE......

backtrackx ⋅ 今天 ⋅ 0

Linux(CentOS)下配置php运行环境及nginx解析php

【part1:搭建php环境】 1.选在自己需要安装的安装包版本,wget命令下载到服务器响应目录 http://php.net/releases/ 2.解压安装包 tar zxf php-x.x.x 3.cd到解压目录执行如下操作 cd ../php-...

硅谷课堂 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部