`
DXL_xiaoli
  • 浏览: 71799 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

体验spring(八)---分散配置

阅读更多

分散配置

在应用上下文中,使用PropertyPlaceholderConfigurer从外部文件装载配置信息。其中location属性允许使用单个配置文件,可使用其locations属性设置配置文件列表。

案例:
Service包中ConnServiceImpl.java
public class ConnServiceImpl {
	/*连接数据库**/
private String driverClass;
private String url;
private String user;
private String password;
public void setDriverClass(String driverClass) {
	this.driverClass = driverClass;
}
public void setUrl(String url) {
	this.url = url;
}
public void setUser(String user) {
	this.user = user;
}
public void setPassword(String password) {
	this.password = password;
}

}
Jdbc.properties文件
jdbc\:driverClass=com.mysql.jdbc.Driver
jdbc\:url=jdbc\:mysql\://localhost\:3306/db
jdbc\:user=dxl
jdbc\:password=root
applicationContext.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
           
    <!-- 分散配置解析 引入一个外部文件即使用location属性       
	<bean id="propertyPlaceholderConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location">
			<value>cn/csdn/service/jdbc.properties</value>
		</property>		
	</bean>
	--> 
	<!-- 其中location属性允许使用单个配置文件,可使用其locations属性设置配置文件列表。classPath使用反斜杠
	使用分散配置就可用占位符变量替代Bean配置文件中硬编码配置了,语法上,占位符变量采用${variable}形式	
	 -->
	
	<!-- 引入多个外部文件即使用locations属性 -->
	<bean id="propertyPlaceholderConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<value>cn/csdn/service/jdbc.properties</value>
		</property>		
	</bean>
	
	<bean id="connServiceImpl" class="cn.csdn.service.ConnServiceImpl"
		scope="singleton">
		<property name="driverClass">
		<!-- 在使用外部文件的名称方式${名称} -->
			<value>${jdbc:driverClass}</value>
		</property>

		<property name="url">
			<value>${jdbc:url}</value>
		</property>

		<property name="user">
			<value>${jdbc:user}</value>
		</property>

		<property name="password">
			<value>${jdbc:password}</value>
		</property>
	</bean>
	
	<!-- 硬编码 的使用
	<bean id="connServiceImpl" class="cn.csdn.service.ConnServiceImpl"
		scope="singleton">
		<property name="driverClass">
			<value>com.mysql.jdbc.Driver</value>
		</property>

		<property name="url">
			<value>jdbc:mysql://localhost:3306/db</value>
		</property>

		<property name="user">
			<value>dxl</value>
		</property>

		<property name="password">
			<value>root</value>
		</property>
	</bean>
-->
</beans>

 

此案例中主要介绍了分散配置的使用,首先介绍了硬编码的使用,然后是引入单个分散配置的使用,再就是引入多个分散配置的使用,并将三者做了具体的比较。读者主要观察xml文件中的代码,xml文件中的代码简单明了,易于理解。

分享到:
评论

相关推荐

    spring-boot-paoding-rose.zip

    Spring Boot简化了Spring应用程序的初始设置和配置,它默认集成了许多常用的依赖,并提供了一种“即插即用”的开发体验。Paoding-Rose,全称Paoding Rose for Java,是源自百度的一款开源Java Web框架,主要特性包括...

    spring-framework-5.1.x.zip

    6. **Spring Boot 2.x集成**:与Spring Boot 2.x的紧密集成,提供了更简洁的配置和更快的应用启动速度。 三、核心组件详解 1. **Spring Core**:提供DI和AOP的基础,是整个Spring框架的基石。DI使得对象之间的依赖...

    spring-javaconfig-reference

    Spring JavaConfig为Spring框架提供了一种全新的配置方式,它利用Java语言的强大功能来替代传统的XML配置文件。这不仅提高了代码的可读性和可维护性,还充分利用了Java的静态类型检查等优势,使得开发者能够更加专注...

    Spring4.3.7所有jar包

    这个版本的发布,不仅提供了最新的性能优化和修复,也体现了Spring社区对持续创新和提升开发者体验的承诺。包含的所有jar包是Spring框架运行和开发的基础,每个jar包都有其特定的职责,共同构建起强大的Spring生态...

    自己动手在Spring-Boot上加强国际化功能的示例

    为了处理大量分散在多个文件中的国际化消息,我们可以创建一个配置类来自动扫描特定文件夹下的所有properties文件。以下是一个可能的实现: ```java @Configuration public class I18nConfig { @Bean public ...

    activate-power-mode-1.1.0

    然而,需要注意的是,尽管特效很酷,但过多的视觉和声音反馈可能会分散部分用户的注意力,因此,建议根据个人喜好和工作习惯适度调整插件的设置。 总的来说,"Activate Power Mode" 是 Atom 编辑器的一个独特插件,...

    最新spring官网文档英文(4.3.0.RC1)

    - **使用Log4J**:虽然不是首选,但Log4J仍然被广泛使用,并且可以在Spring应用程序中轻松配置。 #### 二、Spring框架4.x的新特性和增强 **3. 新特性与增强** **3.1 改善入门体验** Spring 4.x引入了更简单的...

    SpringCloud面试专题及答案.pdf

    **SpringCloud** 是一套完整的微服务解决方案,基于 **Spring Boot** 实现,旨在为开发者提供一种简单的方式来构建分布式系统中的服务,包括服务发现、配置管理、智能路由、负载均衡、断路器、数据流处理等。Spring...

    毕业设计:基于Vue+SpringCloud博客的设计与实现-微服务-分布式.zip

    此外,Spring Cloud Config提供了集中式的配置管理,允许开发者在不重启服务的情况下更新配置,这对于分布式系统来说是非常重要的。而Spring Cloud Gateway作为统一的API入口,可以实现路由转发、过滤器等功能,...

    springboot整合redis集群、freemarker模板和多索引库solr,同时将redis集群作mybatis的二级缓存

    1. **Spring Boot**:Spring Boot简化了Spring应用的初始设置和配置,提供了“开箱即用”的特性,包括自动配置、内嵌Web服务器等,使得开发者可以更快地创建独立运行的Spring应用程序。 2. **Redis集群**:Redis是...

    Spring in Practice (非扫描清晰英文版)

    10. 构建配置管理数据库和文章分发引擎:这部分内容会教授如何使用Spring框架来构建支持自动化和可扩展性要求的后端系统。 11. 企业集成模式:这是一个专门讨论如何在企业级环境中集成不同系统和服务的高级主题。 ...

    spring cloud 脑图+视频+代码+讲义

    通过Spring Cloud可以实现服务的平滑扩容,确保用户体验。 - **金融行业**:安全性要求极高,任何一个小的故障都可能导致巨大的损失。Spring Cloud中的断路器、服务熔断等机制可以有效防止故障蔓延,保障业务连续性...

    《深入理解Spring Cloud与微服务构建》学习笔记(十七)~路由网关Spring Cloud Zuul~负载均衡

    Spring Cloud是基于Java的微服务工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线等)中快速构建一些常见模式的能力。 首先,让我们了解什么是路由网关。在微服务...

    基于Spring Cloud、OAuth2.0、Vue的前后端分离的系统

    Spring Cloud是基于Spring Boot的一个框架集合,它为开发人员提供了快速构建分布式系统所需的工具,如服务发现、配置中心、断路器、智能路由、微代理等。使用Spring Cloud,我们可以轻松地创建一个可伸缩、高可用的...

    Exploring OAuth and Spring Social

    2. **配置连接器**:配置与社交网络的连接器。 3. **创建连接**:利用连接器创建用户与社交网络之间的连接。 4. **读写操作**:通过Spring Social提供的API执行读写操作。 **下载和安装**Spring Social非常简单,...

    struts+hibernate+spring整合资源包

    Struts、Hibernate 和 ...同时,随着Java技术的发展,现在的许多新项目更倾向于使用Spring Boot和Spring MVC,它们提供了更加现代化的开发体验。然而,理解SSH框架的集成原理对理解现代Java开发仍然具有重要的意义。

    JEECG 单点登录集成文档(kisso集成)

    客户端配置则包括Maven依赖的添加和Spring配置文件中相应的bean配置,确保单点登录功能在客户端得到正确执行。 #### 请求拦截器设置 通过配置`mvc:interceptors`,可以设置SSO登录验证拦截器,对所有请求进行拦截,...

    tomcat安装及配置教程

    ### Tomcat安装与配置教程详解 #### 一、Tomcat基础安装步骤 1. **下载Tomcat** ... - 选择适合操作系统的版本,如`.zip`或`.tar.gz`格式。...正确配置能够显著提高Tomcat服务器的稳定性和响应速度,从而提升用户体验。

Global site tag (gtag.js) - Google Analytics