`
hyw520110
  • 浏览: 219557 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

安装和使用SpringIDE-------III

    博客分类:
  • java
 
阅读更多
2. 编写类文件
 
· 下面开始创建一个新类:BeanFile ;包名: javamxj.spring.beanfile

BeanFile.java

package javamxj . spring . beanfile ;

public class BeanFile {

    private String beanFile = "多种方式加载Bean的配置文件" ;

    public void setBeanFile(String beanFile) {
        this .beanFile = beanFile;
    }

    public String getBeanFile() {
        return beanFile;
    }
}
 
· 新建Test.java,测试一下。

Test.java

package javamxj . spring . beanfile ;

import java . io . FileInputStream ;
import java . io . FileNotFoundException ;
import java . io . InputStream ;

import org . springframework . beans . factory . BeanFactory ;
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 . xml . XmlBeanFactory ;
import org . springframework . context . ApplicationContext ;
import org . springframework . context . support . ClassPathXmlApplicationContext ;
import org . springframework . core . io . ClassPathResource ;
import org . springframework . core . io . FileSystemResource ;
import org . springframework . core . io . InputStreamResource ;
import org . springframework . core . io . Resource ;

public class Test {
    public static void main(String [] args) {

        // 直接调用HelloBean
        BeanFile bf = new BeanFile();
        System .out.println(bf.getBeanFile());

       

       
        InputStream is = null ;
        try {
            is = new FileInputStream ("bean1.xml" );
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        Resource resource = new InputStreamResource(is);
        sayHello(resource);

       
        resource = new ClassPathResource("bean2.xml" );
        sayHello(resource);

       
        resource = new FileSystemResource("bean3.xml" );
        sayHello(resource);

       
        BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
        PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(
                reg);
        reader.loadBeanDefinitions(new ClassPathResource("bean.properties" ));
        BeanFactory factory = (BeanFactory) reg;

        bf = (BeanFile) factory.getBean("beanFile" );
        System .out.println("利用 " + bf.getBeanFile() + " 加载 Bean.properties" );
       

       
        ApplicationContext appContext = new ClassPathXmlApplicationContext(
                "bean4.xml" );
        bf = (BeanFile) appContext.getBean("beanFile" );
        System .out.println("利用 " + bf.getBeanFile() + " 加载 Bean.xml" );

    }

    public static void sayHello(Resource resource) {
        BeanFactory factory = new XmlBeanFactory(resource);
        BeanFile bf = (BeanFile) factory.getBean("beanFile" );
        System .out.println("利用 " + bf.getBeanFile() + " 加载 Bean.xml"
);
    }
}
 
 
 
3. 配置文件
 
由上面的Test.java可知,这里一共需要四个XML文件和一个Properties文件,现在分别建立。
 
· bean1.xml放在项目根目录下:

bean1.xml

<? xml version ="1.0" encoding ="GBK" ?>
<! DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
"http://www.springframework.org/dtd/spring-beans.dtd" >

< beans >
    < bean id=" beanFile " class=" javamxj.spring.beanfile.BeanFile " >
        < property name=" beanFile " >
            < value > InputStreamResource(InputStream inputStream)</ value >
        </ property >
    </ bean >
</ beans >
 
bean2.xml、bean3.xml、bean4.xml与bean1.xml相似,仅仅需要替换一下<value>值即可。重要的注意文件的存放位置。 这里只给出不同的代码;
 
· bean2.xml放在源文件夹(src)目录下:

bean2.xml(部分)

< property name= " beanFile " >
      < value > ClassPathResource(String path) </ value >
</ property >
 
· bean3.xml放在项目根目录下:

bean3.xml(部分)

< property name= " beanFile " >
      < value > FileSystemResource(String path) </ value >
</ property >
 
· bean4.xml放在源文件夹(src)目录下:

bean4.xml(部分)

< property name= " beanFile " >
      < value > ApplicationContext </ value >
</ property >
 
 
Spring也可以使用属性文件来定义配置文件,如下:
· bean.properties 放在源文件夹(src)目录下:

bean.properties

beanFile.class =javamxj.spring.beanfile.BeanFile
beanFile.beanFile =properties
 
 
· 还需要将上文《快速上手Spring--2.HelloWorld(2) 》中的 log4j.properties复制到src目录下。
 
 
4. 运行程序
 
右击Test.java,运行程序,控制台输出如下:
 
多种方式加载Bean的配置文件
利用 InputStreamResource(InputStream inputStream) 加载 Bean.xml
利用 ClassPathResource(String path) 加载 Bean.xml
利用 FileSystemResource(String path) 加载 Bean.xml
利用 properties 加载 Bean.properties
利用 ApplicationContext 加载 Bean.xml

 
5. 小结
 
   这篇文章主要谈论了如何加载Spring的配置文件,一般来说,就是BeanFactory和ApplicationContext。最常使用的、简单的BeanFactory实现是 org.springframework.beans.factory.xml.XmlBeanFactory,其加载方式为:  
         BeanFactory factory = new XmlBeanFactory(Resource resource)
这里resource必须是xml格式。 Resource 包括: AbstractResource, ClassPathResource,  FileSystemResource, InputStreamResource, ServletContextResource,   UrlResource。这篇文章  谈了常用的三种:ClassPathResource,  FileSystemResource, InputStreamResource。
      
      ApplicationContext包括了 BeanFactory的所有功能,也要比BeanFactory强大的多(以后会详细介绍的)。这里只简单的使用了 ClassPathXmlApplicationContext 加载了Bean配置文件。你可以将 log4j.properties中的“Warn”改为 “Debug”, 对比一下和ClassPathResource的输出,  
  
   在Eclipse中,bean2.xml、bean4xml虽然都是放在源文件夹(src)目录下,但实际上,是由已经编译好的 Test.class从类文件夹(这里是bin文件夹)中加载的。
分享到:
评论

相关推荐

    eclipse3.5,3.6+ 中spring ide的安装

    【描述】:在使用Eclipse集成开发环境进行Spring应用开发时,安装Spring IDE插件是必不可少的步骤。Eclipse 3.5和3.6版本对插件的支持有所不同,但基本的安装流程是一致的。本文将详细指导如何在这些版本的Eclipse中...

    spring-ide插件

    在安装 Spring IDE 插件时,用户通常会下载最新的版本以获得最新的特性和改进。这可以通过 Eclipse 的“软件更新”功能或直接下载插件安装包(如 `spring-ide` 文件)来实现。安装完成后,开发者就可以在 Eclipse 中...

    freemarker-ide-0.9.14

    `freemarker-ide-0.9.14` 插件的使用有助于提升开发团队的生产力,减少因模板语法错误导致的问题,从而更快地迭代和部署项目。 总的来说,`freemarker-ide-0.9.14` 是一个面向MyEclipse用户的强大工具,旨在提供一...

    spring-tool-suite-3.9.6.RELEASE-e4.9.0-win32-x86_64.zip

    6. `readme.txt` 或 `INSTALL.txt`:安装和使用指南。 7. `LICENSE` 和 `NOTICE` 文件:许可协议和版权信息。 使用Spring Tool Suite 3.9.6.RELEASE时,开发者可以享受到以下功能: - Spring Boot项目创建向导:...

    spring-boot-cli-2.0.3.RELEASE-bin.zip

    Spring Boot简化了Spring应用程序的初始设置和配置,它内置了服务器、数据源、依赖管理等,使得开发者可以快速启动项目。2.0.3.RELEASE是一个重要的里程碑,因为它修复了许多已知问题,并提供了对Java和Spring框架的...

    SpringIDE(eclipse插件)

    安装SpringIDE插件可以通过Eclipse的“软件更新”功能来实现,或者直接下载zip格式的插件文件,然后通过Eclipse的“安装新软件”功能导入。在描述中提到的"site.xml"文件可能包含了插件的更新站点信息,用于在...

    Spring IDE plugin for eclipse

    在使用上,尽管可以通过下载Spring IDE的组件并手动安装,但利用Eclipse自带的软件更新(Software Updates)功能安装Spring IDE插件是最简便的方法。值得一提的是,Spring IDE的第二个主要版本支持的Spring框架版本...

    spring-ide_updatesite

    描述中提到“spring-ide_updatesite是比较新的,还可以更新”,这意味着这个更新站点包含最新的Spring IDE插件和修复,允许用户通过Eclipse IDE来获取并安装这些更新,确保他们的开发环境始终与Spring框架的最新版本...

    Eclipse Spring IDE

    **springide-1.3.6**:这可能是Eclipse Spring IDE的一个特定版本号。版本号中的数字可能代表重大功能改进、bug修复或其他重要变更。安装时,用户需要确保这个版本与他们正在使用的Eclipse版本兼容,并且适合他们的...

    spring_ide_安装

    本文将详细介绍如何在Eclipse 3.6及以上版本中安装Spring IDE。 首先,确保您已经安装了Eclipse IDE。Eclipse是一个开源的、可扩展的集成开发环境,支持多种编程语言,包括Java。如果还没有安装,可以从Eclipse官方...

    spring-tool-suite-3.9.6.RELEASE-e4.9.0-win32.zip

    标题中的"spring-tool-suite-3.9.6....使用这款工具,开发者可以享受到无缝的Spring集成,包括对Spring配置文件的智能感知,快速的项目创建,以及方便的Spring Boot和Spring Cloud支持,使开发过程更加流畅和高效。

    jr-ide-idea.zip

    标题 "jr-ide-idea.zip" 提到的是一个与 IntelliJ IDEA 集成开发环境相关的压缩包,其中包含了 JRebel 热部署插件。JRebel 是一款强大的 Java 开发工具,它允许开发者在不重启应用服务器的情况下即时看到代码变更的...

    spring-tool-suite-4-4.9.0.RELEASE-e4.18.0-linux.gtk.x86_64.tar.gz

    安装和使用STS时,用户需要解压这个tar.gz文件,然后按照指示运行其中的可执行文件,这将启动STS IDE。开发人员可以利用它来创建、管理和运行Spring应用,同时享受Eclipse IDE带来的强大编辑和调试能力。此外,STS还...

    spring-framework-4.2.4.RELEASE.7z

    这些文档可能包括用户指南、API参考、开发者指南等,帮助开发者了解如何配置、使用和扩展Spring。例如,Spring MVC的文档将解释如何创建web应用程序,而AOP(面向切面编程)部分则会介绍如何实现横切关注点,如日志...

    spring-tool-suite-3.7.3.RELEASE-e4.5.2-win32.zip

    描述中提到"spring开发所必须安装的插件",意味着STS不仅仅是Eclipse的一个普通插件,而是包含了一整套用于Spring开发的工具和环境。它内置了对Spring的全面支持,包括项目创建模板、配置编辑器、Spring Boot的支持...

    spring-tool-suite-3.9.18.RELEASE-e4.21.0-win32-x86_64.zip

    在压缩包子文件的文件名称列表中,“sts-bundle”可能是指该压缩包包含整个STS捆绑包,通常包括Eclipse IDE的基础安装,Spring相关的插件和其他必要的配置文件。 现在,让我们详细探讨Spring Tool Suite和其与Java...

    spring-boot-cli-2.0.0.M5-bin.zip

    - Spring Boot CLI也可以与IDE如IntelliJ IDEA和Eclipse集成,提供更丰富的开发体验。 7. **版本迭代**: 2.0.0.M5作为里程碑版本,可能包含一些新的特性和改进,但可能存在不稳定因素。正式版发布前,建议关注...

    spring-tool-suite-3.8.4.RELEASE-e4.6.3-win32-x86_64_sts-bundle.zip

    在“sts-bundle.zip”压缩包中,除了STS本身,可能还包括其他相关文件,如许可证文件、帮助文档、启动脚本等,这些都是为了确保用户能够顺利安装和使用该IDE。通过解压并运行其中的安装程序,开发者可以在自己的机器...

    Spring IDE

    安装Spring IDE插件,开发者可以通过Eclipse的内置更新管理器,导入"site.xml"来添加插件仓库,然后选择需要的特性进行安装。或者,可以直接将"features"和"plugins"目录复制到Eclipse的dropins目录下,Eclipse会在...

    spring-tool-suite-4-4.7.1.RELEASE-e4.16.0-win32.win32.x86_64.zip

    安装STS 4.7.1.RELEASE后,你会看到包含"sts-4.7.1.RELEASE"的文件夹,其中包含Eclipse的基础结构以及所有专门为Spring框架定制的插件和配置。在首次启动时,用户可以设置工作空间,导入现有的Spring项目,或者创建...

Global site tag (gtag.js) - Google Analytics