`

spring核心类库 取出spring bean工厂

 
阅读更多

 

 

ApplicationContext和BeanFacotry区别:

ApplicationContext和BeanFacotry相比,提供了更多的扩展功能,但其主要区别在于后者是延迟加载,如果Bean的某一个属性 没有注入,BeanFacotry加载后,直至第一次使用调用getBean方法才会抛出异常;而ApplicationContext则在初始化自身是 检      验,这样有利于检查所依赖属性是否注入;所以通常情况下我们选择使用ApplicationContext.   

 

方法1 

 

 

WebApplicationContext appContext=WebApplicationContextUtils. 
                  getWebApplicationContext(this.getServlet().getServletContext());

 

 

 

方法2:是从classpath 路径下加载 spring的配置文件

 

WebApplicationContext appContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");

 

 

 

方法3

 

 

Resource resource = new FileSystemResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);

 

 

 

方法4

ClassPathResource resource = new ClassPathResource("beans.xml");

BeanFactory factory = new XmlBeanFactory(resource);

 

方法5

 

ApplicationContext context = new ClassPathXmlApplicationContext(
        new String[] {"applicationContext.xml", "applicationContext-part2.xml"});
// of course, an ApplicationContext is just a BeanFactory
BeanFactory factory = (BeanFactory) context;

 

 

 

方法6

 

InputStream is = new FileInputStream("beans.xml");
BeanFactory factory = new XmlBeanFactory(is);

 

 

方法7

 

ClassPathResource res = new ClassPathResource("beans.xml");
XmlBeanFactory factory = new XmlBeanFactory(res);

 

 

 

方法8 

 

 ApplicationContext ac = new FileSystemXmlApplicationContext
        ("C:/SpringConfig/Spring-Config.xml"); 

 

 

 

方法9 :多个xml文件导入到一个xml中进行加载

将XML配置文件分拆成多个部分是非常有用的。为了加载多个XML文件生成一个ApplicationContext实例,可以将文件路径作为 字符串数组传给           ApplicationContext构造器。而bean factory将通过调用bean defintion reader从多个文件中读取bean定义。   

通常情况下,Spring团队倾向于上述做法,因为这样各个配置并不会查觉到它们与其他配置文件的组合。另外一种方法是使用一个或多个的<import/>      元素来从另外一个或多个文件加载bean定义。所有的<import/>元素必须放在<bean/>元素之前以完成bean定义的导入。 让我们看个例子:  

 

 

<beans><import resource="services.xml"/>
    <import resource="resources/messageSource.xml"/>
    <import resource="/resources/themeSource.xml"/>
      <bean id="bean1" class="..."/>
    <bean id="bean2" class="..."/>
  </beans>

 

 

在上面的例子中,我们从3个外部文件:services.xml、messageSource.xml及themeSource.xml来加载bean定义。这里采用的都是相对路径,因此,此     例中的services.xml一定要与导入文件放在同一目录或类路径,而messageSource.xml和themeSource.xml的文件位置必须放在导入文件所在目录下的       resources目录中。正如你所看到的那样,开头的斜杠‘/’实际上可忽略。因此不用斜杠‘/’可能会更好一点。      

根据Spring XML配置文件的Schema(或DTD),被导入文件必须是完全有效的XML bean定义文件,且根节点必须为<beans/> 元素。

 

 

 

加载文件时候通配符使用  (Ant-style Patterns

classpath*:conf/appContext.xml   搜索所有的类路径中的conf/appContext.xml文件(包括src和jar文件中)

classpath:com/mycompany/**/service-context.xml  以com/mycompany为跟路径来查找 文件所在

 

例子:

 

/WEB-INF/*-context.xml

   com/mycompany/**/applicationContext.xml

   file:C:/some/path/*-context.xml

   classpath:com/mycompany/**/applicationContext.xml

 

 

 

加载文件前缀的使用:

 

Prefix Example Explanation
classpath:   会用 ClassPathResource 加载 classpath:com/myapp/config.xml Loaded from the classpath.  
file:    会用UrlResource加载 file:/data/config.xm Loaded as a URL, from the filesystem.
http: http://myserver/logo.png  Loaded as a URL.
none /data/config.xml Depends on the underlying ApplicationContext.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    spring类库 spring类库

    2. **Bean工厂和ApplicationContext**:Bean工厂是IoC容器的初级实现,而ApplicationContext不仅包含了Bean工厂的所有功能,还提供了更多的企业级服务,如消息源、国际化支持以及对其他Spring模块的集成。...

    spring应用必须的类库

    1. **spring-core**:这是Spring框架的基础模块,提供了核心工具类和特性,包括Bean工厂、资源处理、事件传播和通用的类型转换系统。它定义了Spring的基本架构,并为其他模块提供了基础设施。 2. **spring-beans**...

    Hibernate Spring Struts 类库 完全版(2)

    Spring提供了多种bean定义方式,如XML、Java配置和注解。AOP则允许开发者定义横切关注点,如事务管理,从而将这些通用功能模块化。 三、Struts:MVC框架 Struts是基于MVC(Model-View-Controller)设计模式的Web...

    spring依赖的类库

    这些类库通常包括Spring的核心模块,如spring-core、spring-beans、spring-context等,以及与特定功能相关的模块,例如spring-web、spring-jdbc、spring-orm等。此外,由于描述中提到了MySQL,所以也应当包含与...

    spring类库可以用

    8. **Bean容器**:Spring的Bean容器(ApplicationContext)是管理所有bean实例的地方,它可以加载配置,实例化bean,并负责bean之间的依赖注入。 9. **注解驱动**:Spring大量使用注解,如@Service、@Repository、@...

    Spring_mybatis相关类库

    2. `spring-beans`: 包含了Bean工厂,是实现DI的基础。 3. `spring-aop`: 实现AOP,允许我们在不修改代码的情况下添加额外的功能。 4. `spring-web`: 为Web应用提供了支持,如Servlet监听器和HTTP上下文。 5. `...

    搭建ssh所需类库

    2. `spring-beans`: 定义了Bean的创建、配置和管理。 3. `spring-aop`: 支持AOP编程,可以定义切面和通知,实现非侵入式的服务拦截。 4. `spring-web`: 提供了Web相关的支持,如Servlet监听器和Filter。 5. `spring-...

    《spring+mybatis 企业应用实战》源码、类库全资料

    Spring 作为一个全面的后端开发框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等核心功能,极大地提高了开发效率和代码的可维护性。而 MyBatis 是一个轻量级的持久层框架,它简化了数据库操作,...

    spring 黑马教程

    Spring的组成包括核心类库和引入的第三方类库。核心类库是Spring框架的基础,它提供了框架的基本功能。引入的第三方类库则提供了框架的扩展功能,如AOP、JSR-250中的注解等。 Spring的配置文件默认情况下是...

    spring必要jar包

    2. **spring-beans-4.2.6.RELEASE.jar**:包含Bean工厂和依赖注入(DI)的核心实现,它是Spring框架的基础,负责对象的创建、配置和管理。 3. **spring-context-4.2.6.RELEASE.jar**:提供了更高级的应用上下文服务,...

    spring mvc 核心jar包

    这个核心 jar 包包含了 Spring MVC 运行所必需的类库,使得开发者能够创建功能强大的、模块化的 Web 应用。下面我们将深入探讨 Spring MVC 的核心概念和关键组件。 1. **DispatcherServlet**:Spring MVC 的入口点...

    spring4.3.3.zip

    "spring-context.jar"则进一步扩展了Bean工厂,提供了应用程序上下文,使得我们可以从容器中获取bean,同时也支持事件发布、国际化等功能。 4. **spring-test**: 这个部分是Spring提供的测试支持,包括"spring-test...

    最新最全Spring开发包spring-framework-3.1.0.M1

    在Eclipse中使用"spring.jar"开发包,开发者可以方便地导入Spring的类库,利用Spring的IoC容器管理Bean,利用AOP进行切面编程,使用MVC框架开发Web应用,以及轻松地进行数据库操作。同时,Spring还提供了强大的单元...

    spring4.0完整jar包

    2. **Spring Beans**:这个模块定义了Bean工厂,它是容器的核心,负责创建、配置和管理Bean。XML配置文件或注解可以用来定义Bean及其依赖。 3. **Spring AOP(面向切面编程)**:提供了一个全面的AOP实现,允许我们...

    官方原版源码spring-framework-5.1.4.RELEASE.zip

    核心容器包括Bean工厂(BeanFactory)和ApplicationContext,它们是Spring的核心,负责对象的创建、管理及依赖注入。 在`spring-framework-5.1.4.RELEASE-docs.zip`中,我们可以找到详细的API文档和用户指南,这些...

    Spring5jar包 完整版下载

    这个"Spring5jar包 完整版下载"提供的是Spring框架的第五个主要版本,它包含了一系列的类库,覆盖了Spring的核心特性以及与其他技术的集成。让我们深入探讨一下Spring5中的关键知识点。 1. **IoC(Inversion of ...

    ssh框架整合详细步骤(spring+struts2+hibernate)

    - 添加Spring的核心类库到项目中,包括spring-core、spring-context、spring-web、spring-webmvc等。 **Step09:配置Spring容器** - 创建Spring的配置文件applicationContext.xml,配置Bean的定义,包括DAO层、...

    ssh集成类库整合扎包

    2. **Struts2与Spring集成**:使用Spring插件(struts2-spring-plugin)让Struts2能够识别和管理Spring的Bean。这样,Action类可以直接作为Spring的Bean,通过@Autowired注解注入所需的依赖。 3. **Hibernate与...

    Spring学习总结(不含整合其他框架)

    - **一站式服务**:在IOC和AOP的基础上,Spring可以整合各种企业级应用的开源框架和第三方类库,比如Spring MVC和Spring JDBC。 #### 二、Spring工具套装(Spring Tool Suite, STS)的安装 为了更好地使用Spring...

    Spring01.rar

    这个目录下可能包括`beans`、`context`、`core`等子目录,分别对应Spring的核心容器、上下文和核心类库。这些组件协同工作,为应用程序提供bean的生命周期管理、AOP支持以及与其他框架的集成。 1. **依赖注入...

Global site tag (gtag.js) - Google Analytics