博客提纲
一、背景说明
二、源码以及示例
一、背景说明
很多时候,我们需要将项目中使用到的配置信息,常量等写到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官方文档说明。
相关推荐
SpringBoot2.x properties全部配置文件总计1500+,每个配置文件写有中文解释。适用于系统学习springboot 深入学习springboot的同学。
配置路由、谓词和过滤器可以通过YAML或properties文件进行,有两种方式:简写和完全展开。简写方式直接使用过滤器名称和参数值,而完全展开方式则更详细,包含名称/值对,通常用于更复杂的配置。 在配置路由断言...
Spring Cloud Gateway旨在为微服务架构提供一种简单有效的统一的API路由管理方式,它自身基于Spring Framework 5.x和Project Reactor进行构建,以提供高并发、低延迟的特性。它不仅是一个API网关,还可以作为一个...
本文主要介绍了如何将 Spring3.x 升级至 Spring4.x,涵盖了升级依赖包、quartz、jackson 版本的升级、非 Maven 项目的升级、替换 spring jdbc 的 queryForInt 方法、SpringMVC 返回 JSON 格式、更新 XML 配置文件中...
本教程将深入探讨如何在 Spring 5.x 版本中整合 MyBatis 3.x,同时使用阿里巴巴的 Druid 数据连接池。 **1. Spring 5.x 概述** Spring 5.x 是 Spring 框架的一个主要版本,它带来了许多新特性和改进,包括对 Java 8...
Spring2.X版本加强了对事务管理、数据访问集成、Web应用的支持,使得开发者可以更方便地管理对象的生命周期和依赖关系。 **Hibernate** 是一个对象关系映射(ORM)框架,它简化了Java应用程序与数据库的交互。...
3. `pom.xml`或`build.gradle`: 项目构建文件,定义了项目的依赖关系,包括Spring Boot、Spring Cloud和其他相关库。 4. `src/main/resources/static`或`public`: 前端静态资源,如HTML、CSS、JavaScript等。 5. `...
在Spring3中整合Quartz1.8.6,可以方便地管理并执行定时任务,但随着Spring框架的升级,如升级到Spring4,可能需要与更新版本的Quartz(如2.x)进行集成。 1. **Spring3的IoC容器与Quartz的结合** Spring3的...
### Struts1.x、Spring2.x、Hibernate3.x 和 DWR2.x 整合知识点解析 #### 一、Struts1.x与Spring2.x的整合 **1.1 在web.xml中进行Struts和Spring的配置** 为了实现Struts1.x与Spring2.x的无缝集成,首先需要在...
第九章至第十章可能会讨论Spring Boot的配置文件(`application.properties`/`application.yml`),以及如何处理多环境配置。源码可能展示了如何动态加载和切换配置。 7. 安全与认证 第十一章至第十二章涉及Spring ...
本项目为基于Spring Boot 2.4.x、Mybatis 3.4.x、Sa-Token与RBAC权限机制的Java全栈开发框架源码,包含312个文件,其中包括250个Java源代码文件、21个PNG图片文件、13个XML配置文件、12个FTL模板文件、3个properties...
5. **YAML与Properties**:Spring Boot支持使用YAML或Properties格式的配置文件,YAML提供了更友好的层次结构,让配置更易读写。 6. **命令行接口(CLI)**:Spring Boot提供了一个命令行工具,可以用于快速创建、...
在IT行业中,构建一个后台管理系统是一项常见的任务,而Spring、Spring MVC、MyBatis和X-Admin这四个组件是常用的技术栈。本文将详细介绍如何利用这些技术搭建一个高效的后台系统。 首先,Spring框架是一个全面的...
3. src/main/resources:资源文件夹,可能包含数据库连接配置(如application.properties或application.yml)以及其他资源文件。 4. src/main/webapp:Spring MVC的Web应用目录,包含视图解析器配置、静态资源(如...
Spring Boot 支持通过 application.properties 或 YAML 文件进行外部化配置,这使得配置可以在不同环境下轻松切换。 11. **云服务集成** 易于与云服务提供商如 Cloud Foundry、Heroku、Docker 等集成,提供自动...
2. **配置Quartz**:在Spring的配置文件(如applicationContext.xml)中,配置Scheduler实例,定义JobDetail和Trigger。例如: ```xml <bean id="scheduler" class="org.springframework.scheduling.quartz....
2. **依赖管理**:在 Maven 或 Gradle 项目中,可以直接引入 `quartz` 和 `spring-context-support` 依赖,无需手动管理 JAR 文件。 3. **配置方式**:Quartz 2.x 引入了新的配置方式,如使用 XML 或注解来配置 ...
Spring Boot支持使用YAML或Properties文件进行配置,YAML提供了更友好的格式,易于阅读和编写。同时,Spring Boot还提供了强大的配置绑定功能,可以将配置文件中的属性直接注入到Java对象中。 6. **Spring Boot ...
1. **Spring Boot 配置**:学习如何在 `application.properties` 或 `application.yml` 文件中配置 Dubbo 相关的参数,如服务提供者和消费者的地址、注册中心类型等。 2. **启动器(Starter)**:理解 `...
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标签 ...