XML档案的阶层格式非常适用于于组态设定,也因此几乎所有的开源项目都将XML作为预设的组态定义方式,但通常也会提供非XML定义文件的方式,像属性档案.properties,Spring也可以让您使用属性档案定义bean:
helloBean.class=onlyfun.caterpillar.HelloBean
helloBean.helloWord=Hello!Justin!
helloBean名称即是Bean的别名,.class用于指定类别来源,其它的属性就如.helloWord即setter的名称,我们可以使用 org.springframework.beans.factory.support.PropertiesBeanDefinitionReader 来读取属性文件,一个范例如下:
SpringTest.java
package onlyfun.caterpillar;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.support.PropertiesBeanDefinitionReader;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.core.io.ClassPathResource;
public class SpringTest {
public static void main(String[] args) {
BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg);
reader.loadBeanDefinitions(new ClassPathResource("bean.properties"));
BeanFactory factory = (BeanFactory) reg;
HelloBean hello = (HelloBean) factory.getBean("helloBean");
System.out.println(hello.getHelloWord());
}
}
除了透过XML或属性档案,您也可以在程序中直接编程,透过 org.springframework.beans.MutablePropertyValues设置属性,将属性与Bean的类别设定给 org.springframework.beans.factory.support.RootBeanDefinition,并向 org.springframework.beans.factory.support.BeanDefinitionRegistry注册,不使用任何的档案来定义的好处是,客户端与定义档是隔离的,它们无法接触定义档的内容,直接来看个例子:
SpringTest.java
package onlyfun.caterpillar;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.support.RootBeanDefinition;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.MutablePropertyValues;
public class SpringTest {
public static void main(String[] args) {
// 设置属性
MutablePropertyValues properties = new MutablePropertyValues();
properties.addPropertyValue("helloWord", "Hello!Justin!");
// 设置Bean定义
RootBeanDefinition definition = new RootBeanDefinition(HelloBean.class, properties);
// 注册Bean定义与Bean别名
BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
reg.registerBeanDefinition("helloBean", definition);
BeanFactory factory = (BeanFactory) reg;
HelloBean hello = (HelloBean) factory.getBean("helloBean");
System.out.println(hello.getHelloWord());
}
}
只要有spring-core.jar、commons-logging.jar与上面这个程序就可以运作了,不需要任何其它的档案。
分享到:
相关推荐
本教程将帮助你入门XML,并掌握其核心特性。 首先,XML的设计目标是强调数据的结构,而不是如何显示数据。这意味着XML的语法非常严格,与HTML不同,HTML在某些情况下可以容忍不规范的语法,而XML不会。例如,XML...
### XML 入门教程知识点详解 #### 一、XML简介 **XML**(eXtensible Markup Language)是一种标记语言,它的出现改变了数据处理的方式。1998年2月,XML首次进入软件工业界,迅速成为了行业内的焦点。XML不仅为网络...
4. **字符限制**:XML文档中不能直接包含某些特殊字符,如`<>&"`, 需要使用实体引用,如`、`>`、`&`、`"`、`'`。 XML解析和处理: 处理XML数据通常需要解析器,例如DOM(Document Object Model)和SAX(Simple API ...
### XML入门教程精要 #### 1. XML简介与背景 **XML**(eXtensible Markup Language)是一种可扩展标记语言,由W3C联盟发展维护。与HTML不同,XML是一种元语言,允许用户自定义标签,从而描述数据本身及其结构。XML的...
本教程将带你入门XML,了解其基本概念、语法以及常见用途。 1. **XML的基本概念**: - XML是一种自定义标记语言,允许用户根据需要创建自己的标签。 - XML文档由元素(Elements)、属性(Attributes)、文本内容...
在XML配置文件中,我们使用`<bean>`标签来定义一个Bean。例如: ```xml <!-- 属性注入 --> ``` 其中,`id`属性是Bean的唯一标识,`class`属性指定Bean对应的Java类。 5. **依赖注入**: Spring的核心...
XMLBean的入门首先需要理解它的主要功能:它能够自动生成Java类,这些类可以直接用来解析或生成XML文档。这得益于XML Schema(XSD)文件,它是XML的结构定义,XMLBean会根据XSD生成Java类。这样,你可以像操作普通...
目 录 译者序 作者简介 前言 第1章 XML简介 1.1 标记语言 1.2 XML的起源和目的 1.3 Web体系结构:过去与未来 1.3.1 传统Web体系结构 1.3.2 XML下的Web体系结构 ...9.5 使用DOM进行XML文档的转换
通过以上步骤,我们可以理解JSF的基本工作原理,以及如何配置face-config.xml和使用JavaBeans来实现简单的用户登录功能。JSF通过提供组件化和声明式的开发方式,降低了Web应用开发的复杂性,使得开发者能更专注于...
8. **XML Schema验证**:XML Schema定义了XML文档的结构和数据类型,可以用来验证XML文档是否符合规范。C#提供了解析和验证XML Schema的API。 9. **XML在Web服务中的应用**:SOAP(Simple Object Access Protocol)...
从提供的文件内容来看,这是一本关于C#和XML技术结合使用的入门级经典教材。文件中提及的标题为"C# XML入门经典.pdf",说明这本书籍主要面向的是已经具备一定C#编程基础,但是对XML技术尚缺乏了解的开发人员。描述中...
该应用程序利用Spring 批注通过类路径上的src / main / resources / spring / camel-context.xml文件加载Camel Context定义。 重要的 该快速入门可以在2种模式下运行:在您的计算机和Kubernetes / OpenShift群集上...
本资源是“XML编程从入门到精通”PDF书籍,旨在帮助初学者快速掌握XML的基础知识和实际应用技巧。 XML的基本结构: XML文档由元素构成,每个元素都有开始标签和结束标签,如 `<element>` 和 `</element>`。元素...
这个“XML支持库入门教程”压缩包显然旨在帮助初学者理解和掌握XML的相关知识,以及如何利用特定的支持库来处理XML文档。下面我们将深入探讨XML的基本概念、XML文档结构、解析和生成XML的方法,以及易语言中的XML...
学习XML并不难,关键在于理解其基本原理和结构,以及如何使用XML来定义和组织数据。XML的实现涉及XML Schema或DTD(Document Type Definition)来定义XML文档的结构,以及XPath和XSLT(Extensible Stylesheet ...
**轻量化**:Mini-XML 的核心优势之一在于其极简的设计理念,不依赖任何外部类库,仅需 GCC 编译器和 make 程序即可完成编译过程。 **支持多种编码**:Mini-XML 支持 UTF-8 和 UTF-16 编码的 XML 文件,这使得它...
本PDF教程《XML编程从入门到精通》由北京希望电子出版社出版,作者为曾春平等,旨在帮助初学者快速掌握XML编程技术,并逐步提升至精通水平。 ### XML基础 - **XML概述**:介绍XML的起源、目标和基本语法,包括XML...
- **命名空间的定义与使用**:演示如何定义和使用XML文档中的命名空间。 - **默认命名空间与前缀映射**:介绍如何指定默认命名空间和使用前缀来映射命名空间。 **第5章:XSL Transformation** - **XSLT概述**:...