`

spring3x管理properties文件

 
阅读更多

博客提纲

一、背景说明

二、源码以及示例

 

 

一、背景说明

很多时候,我们需要将项目中使用到的配置信息,常量等写到properties文件里。然后用java加载该文件,在项目中使用礼貌的配置项以及相应的值。以前需要自己写文件的加载,解析,管理,等一系列的代码,但是自从有了Spring3X管理properties文件的新功能,(腿也不酸了,腰也不疼了,妈妈再也不用担心我的学习了)一切都是那么的优雅美好。。。

 

 

二、源码以及示例

其实也没啥好多说的,就是Spring的一个小功能的使用而已。废话不多说,直接上代码。

(1)biz.properties文件的内容如下:

#store html2pdf,pdf2tif file dir
TIF_TEMP_BASE_DIR=/home/q/www/faxImages/send

#qimage tif url  
IMAGE_UPLOAD_URI=http://localhost/XXXX

#qimage,host
QIMAGE_DOWNLOAD_HOST =http:/baidu.com/

 

(2)Spring加载properties的配置如下:

   

 <context:property-placeholder location="classpath:biz.properties"/>
   

 

(3)java代码如下:

@Component
public class BizPropertiesBean {

    private static final Logger logger = LoggerFactory.getLogger(BizPropertiesBean.class);

    /** 存储传真上传的时候html转pdf,pdf转tif文件的临时文件目录 */
    @Value("${TIF_TEMP_BASE_DIR}")
    private String tifTempBaseDir;

    /** qimage的tif文件上传url */
    @Value("${IMAGE_UPLOAD_URI}")
    private String iMageUpLoadUri;

    /** qimage的host */
    @Value("${QIMAGE_DOWNLOAD_HOST}")
    private String qImageDownLoadHost;

    public String getTifTempBaseDir() {
        if (StringUtils.isBlank(tifTempBaseDir)) {
            logger.warn("加载TIF_TEMP_BASE_DIR出错.");
            throw new FaxException(FaxBizErrorEnum.LOAD_PROPERTIES_ERROR);
        }
        return tifTempBaseDir;
    }

    public String getIMageUpLoadUri() {

        if (StringUtils.isBlank(iMageUpLoadUri)) {
            logger.warn("加载IMAGE_UPLOAD_URI出错.");
            throw new FaxException(FaxBizErrorEnum.LOAD_PROPERTIES_ERROR);
        }
        return iMageUpLoadUri;
    }

    public String getQImageDownLoadHost() {

        if (StringUtils.isBlank(qImageDownLoadHost)) {
            logger.warn("加载QIMAGE_DOWNLOAD_HOST出错.");
            throw new FaxException(FaxBizErrorEnum.LOAD_PROPERTIES_ERROR);
        }
        return qImageDownLoadHost;
    }

    public void setTifTempBaseDir(String tifTempBaseDir) {

        if (StringUtils.isBlank(tifTempBaseDir)) {
            logger.warn("加载TIF_TEMP_BASE_DIR出错.");
            throw new RuntimeException("加载TIF_TEMP_BASE_DIR出错");
        }

        this.tifTempBaseDir = tifTempBaseDir;
    }

    public void setiMageUpLoadUri(String iMageUpLoadUri) {

        if (StringUtils.isBlank(iMageUpLoadUri)) {
            logger.warn("加载IMAGE_UPLOAD_URI出错.");
            throw new RuntimeException("加载IMAGE_UPLOAD_URI出错");
        }

        this.iMageUpLoadUri = iMageUpLoadUri;
    }

    public void setqImageDownLoadHost(String qImageDownLoadHost) {

        if (StringUtils.isBlank(qImageDownLoadHost)) {
            logger.warn("加载QIMAGE_DOWNLOAD_HOST出错.");
            throw new RuntimeException("加载QIMAGE_DOWNLOAD_HOST出错");
        }

        this.qImageDownLoadHost = qImageDownLoadHost;
    }
}

 

   其实Spring管理properties文件还有另外几种方式,就不一一列举了。有兴趣的可以自行查看Spring官方文档说明。

 

 

 

 

 

分享到:
评论

相关推荐

    Spring Boot Properties 全部配置文件,中文注释

    SpringBoot2.x properties全部配置文件总计1500+,每个配置文件写有中文解释。适用于系统学习springboot 深入学习springboot的同学。

    最新Spring Cloud Gateway 官方参考指南-中文版-3.x

    配置路由、谓词和过滤器可以通过YAML或properties文件进行,有两种方式:简写和完全展开。简写方式直接使用过滤器名称和参数值,而完全展开方式则更详细,包含名称/值对,通常用于更复杂的配置。 在配置路由断言...

    SpringCloud.03.网关Gateway 配置文件

    Spring Cloud Gateway旨在为微服务架构提供一种简单有效的统一的API路由管理方式,它自身基于Spring Framework 5.x和Project Reactor进行构建,以提供高并发、低延迟的特性。它不仅是一个API网关,还可以作为一个...

    详解Spring3.x 升级至 Spring4.x的方法

    本文主要介绍了如何将 Spring3.x 升级至 Spring4.x,涵盖了升级依赖包、quartz、jackson 版本的升级、非 Maven 项目的升级、替换 spring jdbc 的 queryForInt 方法、SpringMVC 返回 JSON 格式、更新 XML 配置文件中...

    spring5.x 整合 mybatis 3.x

    本教程将深入探讨如何在 Spring 5.x 版本中整合 MyBatis 3.x,同时使用阿里巴巴的 Druid 数据连接池。 **1. Spring 5.x 概述** Spring 5.x 是 Spring 框架的一个主要版本,它带来了许多新特性和改进,包括对 Java 8...

    SSH(Struts2.1+Spring2.X+Hibernate3.X)整合,新手必备

    Spring2.X版本加强了对事务管理、数据访问集成、Web应用的支持,使得开发者可以更方便地管理对象的生命周期和依赖关系。 **Hibernate** 是一个对象关系映射(ORM)框架,它简化了Java应用程序与数据库的交互。...

    基于 Spring Cloud 2021 、Spring Boot 2.7、 OAuth2 的 RBAC 权限管理系统源码

    3. `pom.xml`或`build.gradle`: 项目构建文件,定义了项目的依赖关系,包括Spring Boot、Spring Cloud和其他相关库。 4. `src/main/resources/static`或`public`: 前端静态资源,如HTML、CSS、JavaScript等。 5. `...

    spring3-quartz1.x

    在Spring3中整合Quartz1.8.6,可以方便地管理并执行定时任务,但随着Spring框架的升级,如升级到Spring4,可能需要与更新版本的Quartz(如2.x)进行集成。 1. **Spring3的IoC容器与Quartz的结合** Spring3的...

    spring-boot深入浅出

    5. **YAML与Properties**:Spring Boot支持使用YAML或Properties格式的配置文件,YAML提供了更友好的层次结构,让配置更易读写。 6. **命令行接口(CLI)**:Spring Boot提供了一个命令行工具,可以用于快速创建、...

    Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00

    ### Struts1.x、Spring2.x、Hibernate3.x 和 DWR2.x 整合知识点解析 #### 一、Struts1.x与Spring2.x的整合 **1.1 在web.xml中进行Struts和Spring的配置** 为了实现Struts1.x与Spring2.x的无缝集成,首先需要在...

    深入浅出Spring Boot 2.x(杨开振著)项目代码

    第九章至第十章可能会讨论Spring Boot的配置文件(`application.properties`/`application.yml`),以及如何处理多环境配置。源码可能展示了如何动态加载和切换配置。 7. 安全与认证 第十一章至第十二章涉及Spring ...

    基于Spring Boot 2.4.x、Mybatis 3.4.x、Sa-Token与RBAC权限的Java全栈设计源码

    本项目为基于Spring Boot 2.4.x、Mybatis 3.4.x、Sa-Token与RBAC权限机制的Java全栈开发框架源码,包含312个文件,其中包括250个Java源代码文件、21个PNG图片文件、13个XML配置文件、12个FTL模板文件、3个properties...

    spring+spring mvc+mybatis+x-admin搭建后台

    在IT行业中,构建一个后台管理系统是一项常见的任务,而Spring、Spring MVC、MyBatis和X-Admin这四个组件是常用的技术栈。本文将详细介绍如何利用这些技术搭建一个高效的后台系统。 首先,Spring框架是一个全面的...

    spring4.x+springdatajpa+springmvc+maven搭建

    3. src/main/resources:资源文件夹,可能包含数据库连接配置(如application.properties或application.yml)以及其他资源文件。 4. src/main/webapp:Spring MVC的Web应用目录,包含视图解析器配置、静态资源(如...

    Spring-boot 1.x -官方文档 中文参考指南

    Spring Boot 支持通过 application.properties 或 YAML 文件进行外部化配置,这使得配置可以在不同环境下轻松切换。 11. **云服务集成** 易于与云服务提供商如 Cloud Foundry、Heroku、Docker 等集成,提供自动...

    Spring2.x集成Quartz调度框架

    2. **配置Quartz**:在Spring的配置文件(如applicationContext.xml)中,配置Scheduler实例,定义JobDetail和Trigger。例如: ```xml &lt;bean id="scheduler" class="org.springframework.scheduling.quartz....

    spring3整合quartz1.8和spring3整合quartz2.2两个版本示例

    2. **依赖管理**:在 Maven 或 Gradle 项目中,可以直接引入 `quartz` 和 `spring-context-support` 依赖,无需手动管理 JAR 文件。 3. **配置方式**:Quartz 2.x 引入了新的配置方式,如使用 XML 或注解来配置 ...

    Spring Boot核心技术-笔记-pdf版.pdf

    Spring Boot支持使用YAML或Properties文件进行配置,YAML提供了更友好的格式,易于阅读和编写。同时,Spring Boot还提供了强大的配置绑定功能,可以将配置文件中的属性直接注入到Java对象中。 6. **Spring Boot ...

    springboot2.0.x+dubbo-spring-boot-starter

    1. **Spring Boot 配置**:学习如何在 `application.properties` 或 `application.yml` 文件中配置 Dubbo 相关的参数,如服务提供者和消费者的地址、注册中心类型等。 2. **启动器(Starter)**:理解 `...

    Spring-Reference_zh_CN(Spring中文参考手册)

    13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form标签 ...

Global site tag (gtag.js) - Google Analytics