zoukankan      html  css  js  c++  java
  • spring加载bean的步骤

    转载:https://www.cnblogs.com/hljmly/articles/5442778.html

    spring加载bean的方法

      用spring的时候,需要一个applicationContext.xml文件,放到工程目录src下,每次我想获得这个xml文件里的bean的时候,就要这样写: BeanFactory beanFactory = new ClassPathXmlApplicationContext("applicationContext.xml");

      因为是放到src下,所以用的是ClassPathXmlApplicationContext这个方法来取得xml文件。但是还有没有别的方法呢?在网上搜索到一些:

      Tips1:

      BeanFactory factory = new XmlBeanFactory(new FileSystemResource("web/WEB-INF/classes/applicationContext.xml")); // 从文件系统中的xml文件载入上下文信息 ApplicationContext fx = new FileSystemXmlApplicationContext("web/WEB-INF/classes/applicationContext.xml"); // 从类路径中的xml文件载入上下文信息 ApplicationContext cx = new ClassPathXmlApplicationContext("applicationContext.xml");

      Tips2:

      //完全可以不写,只要放在classes下,spring的jar包自己会去读

      //如果参数为空,则使用默认的applicationContext.xml,如果找不到,抛出异常

      //如果参数不为空,以您的实参来确定 BEAN 文件的XML 位置

      BeanFactory beanFactory = new ClassPathXmlApplicationContext();

      Tips3:

      在给工程添加spring特征库的时候就可以把它放到指定的路径下。在工程的src下建一个config包,然后添加spring特征库,添加的时候把applicationContext.xml放到定义好的包里就好了,spring会自动配置好路径,到时候直接用就行了

      BeanFactory:提供DI功能多种实现,XMLBeanFactory 是最常用的,依赖 Resource , 有两种 Resource 实现最常用:ClassPathResource ,FileSystemResource

      ApplicationContext : 扩展了BeanFactory三种常用实现:

      ClassPathXmlApplicationContext:是从当前类路径中检索配置文件并装载它来创建容器的实例;

      FileSystemXmlApplicationContext,他也是ApplicationContext接口的实现类,它和ClassPathXmlApplicationContext类的不同就在于读 取Spring配置文件的方式。它不再从类路径中获取配置文件,而是通过参数指定配置文件的位置,可以获取类路径之外的资源。具体语法格式: ApplicationContext context = new FileSystemXmlApplicationContext(String configLocation)(configLocation,就是之你上下文放置的路径);

      XmlWebApplicationContext:从web.xml中加载

      scope有两种取值:

      1、singleton(默认值):每次调用getBean的时候返回相同的实例,在IOC容器里只创建一个实例。

      2、prototype:每次调用getBean的时候返回不同的实例,在IOC容器里创建多个实例。

      abstract取值,默认是false。

      当abstract取true时说明这是个抽象bean,没有具体的现实,不用配置type具体的实现类。可以让其他bean来继承。

      一些建议:

      1.建议查一下“import”标签,通过“import”标签可以将其它配置文件注入置当前配置文件,就类似与java的import。提这个是建议:将applicationContext.xml文件做成配置文件的集合,而文件集合中的每个文件都描述项目中具体的功能或组件,这样配置文件就比较清晰。

      2.Spring是容器,重要的不在于实现容器(实例化),而是在于使用容器。

      3.最后建议能看一下Spring的源码,一方面可以帮助了解如何使用Spring,另一方面可以帮助深入理解Spring。

    抱怨没有用,只能靠自己
  • 相关阅读:
    'Undefined symbols for architecture i386,clang: error: linker command failed with exit code 1
    The codesign tool requires there only be one 解决办法
    XCode iOS project only shows “My Mac 64bit” but not simulator or device
    Provisioning profile XXXX can't be found 的解决办法
    UIView 中的控件事件穿透 Passthrough 的实现
    Xcode4.5出现时的OC新语法
    xcode 快捷键(持续更新)
    打越狱包
    php缓存与加速分析与汇总
    浏览器的判断
  • 原文地址:https://www.cnblogs.com/mybatis/p/8446617.html
Copyright © 2011-2022 走看看