`
snrqtdhuqf
  • 浏览: 79308 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

通过ApplicationContext获取IoC容器

    博客分类:
  • Java
 
阅读更多

通过ClassPathXmlApplicationContext获取

 
 
package factory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
import com.yydone.ma.service.IMemberService;
import com.yydone.ma.service.impl.MemberService;
 
public class TestClassPathXmlApplicationContext {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
        IMemberService memberService = context.getBean(MemberService.class);
        System.out.println(memberService.get().getMemberAccount());
    }
 
}

 

2、通过FileSystemXmlApplicationContext获取IoC容器

package factory;
  
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
  
import com.yydone.ma.service.IMemberService;
import com.yydone.ma.service.impl.MemberService;
  
public class TestFileSystemXmlApplicationContext {
  
    /**
     * @param args
     */
    public static void main(String[] args) {
        test1();
        test2();
        test3();
    }
  
    public static void test1() {
        ApplicationContext context = new FileSystemXmlApplicationContext("classpath:spring.xml");
        IMemberService memberService = context.getBean(MemberService.class);
        System.out.println(memberService.get().getMemberAccount());
    }
      
    public static void test2() {
        ApplicationContext context = new FileSystemXmlApplicationContext("src/main/resource/spring.xml");
        IMemberService memberService = context.getBean(MemberService.class);
        System.out.println(memberService.get().getMemberAccount());
    }
      
    public static void test3() {
        ApplicationContext context = new FileSystemXmlApplicationContext("file:/home/yunix/spring.xml");
        IMemberService memberService = context.getBean(MemberService.class);
        System.out.println(memberService.get().getMemberAccount());
    }
}

 

1.默认为项目工作路径 即项目的根目录 
ApplicationContext a = new FileSystemXmlApplicationContext("src/main/resources/spring.xml"); 

2.前缀classpath:表示的是项目的classpath下相对路径 
   ApplicationContext a = new FileSystemXmlApplicationContext("classpath:spring.xml"); 

3.使用前缀file 表示的是文件的绝对路径 
   ApplicationContext a = new FileSystemXmlApplicationContext("file:D:/spring.xml"); 
   ApplicationContext a = new FileSystemXmlApplicationContext("D:/spring.xml"); 

4.可以同时加载多个文件 
  String[] xmlCfg = new String[] { "src/main/resources/base.spring.xml","classpath:spring.xml"}; 
  ApplicationContext a = new FileSystemXmlApplicationContext(xmlCfg); 

5.使用通配符加载所有符合要求的文件 
  ApplicationContext a = new FileSystemXmlApplicationContext("classpath:*.spring.xml")
;

分享到:
评论

相关推荐

    关于SpringBoot获取IOC容器中注入的Bean(推荐)

    我们可以通过以下几种方式来获取IOC容器中注入的Bean: 1. 通过`@Autowired`注解注入Bean对象 2. 通过`ApplicationContext`对象获取Bean对象 3. 通过自定义的公共类来获取Bean对象 在给定的示例代码中,我们可以...

    Spring IoC容器实现的结构分析

    本文将从实现的角度,通过对外部接口、内部实现、组成部分和执行过程四个角度深入剖析Spring IoC容器的结构。 首先,Spring IoC容器的外部接口主要包括`ApplicationContext`和`BeanFactory`。`BeanFactory`是IoC...

    Spring的IoC容器初始化源码解析

    Spring的IoC容器通过一系列精心设计的接口来实现其强大功能。下面详细介绍一些关键接口: ##### 4.1 BeanFactory系列接口 - **BeanFactory**:基础的容器接口,提供了最基本的bean管理功能。 - **...

    模拟Spring的IoC容器实现注解自动装配

    IoC容器通过控制反转的概念,将对象的创建和依赖关系的配置从应用代码中分离出来,使代码更加灵活、可测试和可维护。而注解自动装配(Autowired)是Spring IoC容器的一种高级特性,它允许我们通过注解来声明对象之间...

    Spring源代码解析(一):IOC容器.doc

    在Spring源代码解析的第一部分,我们将聚焦于IOC容器,特别是BeanFactory接口,它是所有Spring容器的基础。 BeanFactory接口是Spring的基石,它定义了基本的容器操作,如获取Bean、检查Bean是否存在、确定Bean的...

    手动实现一个ioc容器.zip

    通过学习和实践手动实现IOC容器,开发者不仅能更好地理解Spring框架的工作原理,还能提升设计和实现复杂系统的能力。这个过程涉及到了许多核心的Java技术和设计模式,对提升软件工程能力大有裨益。

    09 Spring IoC容器ApplicationContext如何实现国际化慕课专栏1

    Spring的ResourceBundleMessageSource类将ResourceBundle与Spring的IoC容器集成,使得我们可以方便地从ApplicationContext中获取不同语言的字符串。配置ResourceBundleMessageSource可以通过XML或注解两种方式。XML...

    Spring的IoC容器

    在Spring中,IoC容器通过配置元数据(如XML、注解或Java配置类)来定义对象及其依赖关系,然后在运行时根据这些信息实例化对象并进行依赖注入。 ### 2. 容器的主要功能 - **对象的实例化**:IoC容器可以创建对象,...

    利用反射自实现IOC容器

    5. **Spring IOC**:虽然本项目是自实现的IOC容器,但Spring框架的IOC容器(又称ApplicationContext)是业界广泛使用的实现。Spring提供了更完善的特性,如自动扫描、AOP(面向切面编程)、事件机制等。理解自实现的...

    详解Spring IOC 容器启动流程分析

    在 Spring 框架中,ApplicationContext 是 IOC 容器的承载体,而 BeanFactory 是操作这个容器的工具,两者关系紧密,相互协作。AbstractApplicationContext 是 ApplicationContext 的抽象实现类,它提供了 refresh ...

    Spring实现原理及IoC容器的优点

    Spring IoC容器通过XML配置文件或注解来管理对象及其依赖。XML配置文件中定义了bean的定义,包括类名、属性等,而注解如@Autowired则可以自动匹配和注入依赖。Spring容器通过反射机制实例化对象,解析并注入依赖。...

    Java-Spring-SpringIoC容器-SpringIoC的学习

    Spring IoC容器通过读取XML配置文件或使用注解来管理对象的生命周期和依赖关系。它首先解析配置元数据,然后根据这些信息创建和组装对象。在XML配置中,`<bean>`标签用于定义一个Java对象,`class`属性指明该对象的...

    体验Spring的IoC容器的优点(Eclipse中).doc

    在本实验中,我们将通过使用 Eclipse IDE 来体验 Spring 的 IoC 容器的优点。首先,我们需要创建一个接口 UserInfoInterface,该接口中定义了一个业务方法 doUserLogin,该方法用于用户登录验证。然后,我们需要创建...

    默认xmlIOC容器 demo-基于maven项目

    XML IOC容器是实现DI的一种方式,它通过读取XML配置文件来管理和控制对象的生命周期。在这个“默认xmlIOC容器 demo-基于maven项目”中,我们将探讨如何手写一个简单的XML IOC容器,并了解其核心概念和工作原理。 ...

    Spring基础:IoC容器(2)

    在实际开发中,我们通常使用ApplicationContext作为主要的IoC容器。 为了使Spring容器管理我们的对象,我们需要对这些对象进行“bean化”。这意味着我们需要定义bean的配置元数据,这可以通过XML、Java注解或基于...

    Spring IOC容器实现分析

    ### Spring IOC容器实现分析 ...通过以上介绍,我们可以了解到Spring IOC容器的核心组件及其工作原理。在实际开发中,理解这些概念对于高效利用Spring框架至关重要。希望本文能够为您的学习之旅带来帮助。

    Ioc容器的个人理解介绍

    总的来说,Ioc容器通过控制反转,实现了对对象生命周期的管理,降低了组件之间的耦合度,使得软件设计更加灵活和易于维护。无论是Spring的Ioc还是其他的实现,其核心思想都是为了提升软件的可扩展性和可维护性。理解...

    Spring的IoC容器之BeanFactory[定义].pdf

    Spring的IoC容器是其核心特性之一,它通过BeanFactory和ApplicationContext两个主要接口来实现控制反转(Inversion of Control,IoC)的概念。BeanFactory作为基础的IoC容器,提供了全面的IoC服务,包括对象的注册、...

    Spring2.5.6源代码分析(一):IOC容器

    本文将通过分析Spring源代码来揭示其IoC容器的工作原理。 首先,我们要理解IoC的概念。IoC是一种设计模式,它将对象的创建和管理从应用逻辑中解耦出来,由一个中心组件(如Spring的ApplicationContext)负责。在...

    ioc容器在Web容器中的启动.pdf

    总结来说,Spring IOC容器在Web容器中的启动涉及到创建`WebApplicationContext`,加载配置文件中的bean定义,然后通过`refresh()`方法实例化和初始化bean。这个过程确保了Web应用程序能够正确地配置和运行其依赖的...

Global site tag (gtag.js) - Google Analytics