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

入门 08 - 不使用XML定义档

阅读更多


 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入门教程-IBM

    4. **字符限制**:XML文档中不能直接包含某些特殊字符,如`<>&"`, 需要使用实体引用,如`、`>`、`&`、`"`、`'`。 XML解析和处理: 处理XML数据通常需要解析器,例如DOM(Document Object Model)和SAX(Simple API ...

    xml入门教程/xml入门教程

    ### XML入门教程精要 #### 1. XML简介与背景 **XML**(eXtensible Markup Language)是一种可扩展标记语言,由W3C联盟发展维护。与HTML不同,XML是一种元语言,允许用户自定义标签,从而描述数据本身及其结构。XML的...

    XML入门教程-IBM

    本教程将带你入门XML,了解其基本概念、语法以及常见用途。 1. **XML的基本概念**: - XML是一种自定义标记语言,允许用户根据需要创建自己的标签。 - XML文档由元素(Elements)、属性(Attributes)、文本内容...

    spring bean XML配置入门

    在XML配置文件中,我们使用`<bean>`标签来定义一个Bean。例如: ```xml <!-- 属性注入 --> ``` 其中,`id`属性是Bean的唯一标识,`class`属性指定Bean对应的Java类。 5. **依赖注入**: Spring的核心...

    xmlbean入门实例

    XMLBean的入门首先需要理解它的主要功能:它能够自动生成Java类,这些类可以直接用来解析或生成XML文档。这得益于XML Schema(XSD)文件,它是XML的结构定义,XMLBean会根据XSD生成Java类。这样,你可以像操作普通...

    xml入门经典-part3(中文版)

    目 录 译者序 作者简介 前言 第1章 XML简介 1.1 标记语言 1.2 XML的起源和目的 1.3 Web体系结构:过去与未来 1.3.1 传统Web体系结构 1.3.2 XML下的Web体系结构 ...9.5 使用DOM进行XML文档的转换

    Stuts入门---------Stuts入门

    - **使用**: 通过在 struts-config.xml 中定义插件来启用特定功能。 #### 十一、Struts-Config 文件详解 - **作用**: Struts-Config 文件是 Struts 架构的核心配置文件。 - **内容**: 包括 Action 映射、表单验证...

    JSF开发的入门以及关键文件face-config.xml的配置

    通过以上步骤,我们可以理解JSF的基本工作原理,以及如何配置face-config.xml和使用JavaBeans来实现简单的用户登录功能。JSF通过提供组件化和声明式的开发方式,降低了Web应用开发的复杂性,使得开发者能更专注于...

    XML编程从入门到精通

    《XML编程从入门到精通》这本书旨在填补当前市场上XML相关书籍的空白,它跳过了基础知识,直接进入高级应用领域,特别关注SAX和DOM接口的深度使用。在当今的Windows主导的环境中,接口、模块和对象的概念变得尤为...

    C-#XML入门经典随书源码

    8. **XML Schema验证**:XML Schema定义了XML文档的结构和数据类型,可以用来验证XML文档是否符合规范。C#提供了解析和验证XML Schema的API。 9. **XML在Web服务中的应用**:SOAP(Simple Object Access Protocol)...

    spring-boot-camel-xml:一个快速入门,展示了如何将Spring Boot和camel与XML DSL以及Kubernetes或OpenShift一起使用

    该应用程序利用Spring 批注通过类路径上的src / main / resources / spring / camel-context.xml文件加载Camel Context定义。 重要的 该快速入门可以在2种模式下运行:在您的计算机和Kubernetes / OpenShift群集上...

    xml编程从入门到精通(PDF)

    本资源是“XML编程从入门到精通”PDF书籍,旨在帮助初学者快速掌握XML的基础知识和实际应用技巧。 XML的基本结构: XML文档由元素构成,每个元素都有开始标签和结束标签,如 `<element>` 和 `</element>`。元素...

    XML支持库入门教程.rar

    这个“XML支持库入门教程”压缩包显然旨在帮助初学者理解和掌握XML的相关知识,以及如何利用特定的支持库来处理XML文档。下面我们将深入探讨XML的基本概念、XML文档结构、解析和生成XML的方法,以及易语言中的XML...

    XML之XML快速入门教程

    学习XML并不难,关键在于理解其基本原理和结构,以及如何使用XML来定义和组织数据。XML的实现涉及XML Schema或DTD(Document Type Definition)来定义XML文档的结构,以及XPath和XSLT(Extensible Stylesheet ...

    Mini-XML_程序员开发手册__Version_2.5

    **轻量化**:Mini-XML 的核心优势之一在于其极简的设计理念,不依赖任何外部类库,仅需 GCC 编译器和 make 程序即可完成编译过程。 **支持多种编码**:Mini-XML 支持 UTF-8 和 UTF-16 编码的 XML 文件,这使得它...

    XML编程从入门到精通(pdf文件)

    本PDF教程《XML编程从入门到精通》由北京希望电子出版社出版,作者为曾春平等,旨在帮助初学者快速掌握XML编程技术,并逐步提升至精通水平。 ### XML基础 - **XML概述**:介绍XML的起源、目标和基本语法,包括XML...

Global site tag (gtag.js) - Google Analytics