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。

    抱怨没有用,只能靠自己
  • 相关阅读:
    C#中的委托,匿名方法和Lambda表达式
    Java 8 Lambda表达式探险
    Lambda表达式有何用处?如何使用?
    有参数的程序,可以被调用
    怎样用VB编写.DLL动态链接库文件
    Oracle 存储过程包
    EB(存储单位)
    排序之快速排序(上)
    排序之冒泡排序
    排序之堆排序
  • 原文地址:https://www.cnblogs.com/mybatis/p/8446617.html
Copyright © 2011-2022 走看看