在加载spring的bean的xml文件,生成spring容器。得到bean对象的几中用法。
在srping中可以配置一个xml文件,但是为了解耦也可以配置多个xml文件。
通过spring容器直接生成bean对象。
1、用ApplicationConetx上下文对象来加载application.xml文件。
解析一个xml文件:
比如说:
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
加载的是一个xml文件,通过它就可以获得bean对象了:
ContainerBean bean=(ContainerBean)ctx.getBean("/cb");获得的是ContainerBean对象。
解析多个xml文件:
比如说:ApplicationContext ctx=new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","applicationContext2.Rel"});
这里是建立了一个String数组
ClassPathXmlApplication对象指的是在该项目下的classes下去找xml的文件,生成对象。
2、用Resource加载application.xml文件,用beanFactory获得bean对象
这个Resource文件只能加载一个xml文件。如果该xml文件还引用了其他的xml文件
Resource resource=new ClassPathResource("applicationContext.xml");
BeanFactory ctx=new XmlBeanFactory(resource);
ContainerBean bean=(ContainerBean)ctx.getBean("/cb");
用bean工厂获得bean对象
可以加载该xml文件的系统真实路径获得resource对象
Resource resource=new FileSystemResource("E:/未来蓝图4_14连读班/Spring1.2FirstApp/classes/applicationContext.xml");
BeanFactory ctx=new XmlBeanFactory(resource);
ContainerBean bean=(ContainerBean)ctx.getBean("/cb");
也可以用BeanFactory的子类XmlFactory获得。用XmlFactory获得的好处是当你要执行类销毁方法的时候。可以执行ctx.destroySingletons(),但是前提是该类必须是单态的。
分享到:
相关推荐
Spring Bean 加载过程源码解析文档 Spring Bean 加载过程是 Spring 框架中最核心的部分之一,涉及到 ApplicationContext 的初始化、Bean 的加载和注册等过程。在 Spring Boot 应用程序中,SpringApplication 负责...
让我们详细探讨Spring Bean加载顺序的各个环节。 1. **配置源解析**: Spring支持多种配置方式,包括XML、Java配置类(@Configuration)、注解(@Component、@Service等)以及通过@ConfigurationProperties处理...
Spring bean 一般通过配置文件和注解进行加载,如果要实现jar或class文件,动态实现spring bean 的动态加载,并通过UrlClassLoader完成jar和class文件的加载。可以实现jar的热替换。spring的bean动态加载则需要对...
在"spring的bean加载顺序样例项目"中,我们可以通过分析和实验来深入理解这一主题。下面将详细阐述Spring Bean的加载顺序以及相关知识点。 1. **Bean的定义与作用域** - Spring中的Bean是在`beans.xml`或Java配置...
- **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...
一旦XML配置加载到Spring容器中,容器将根据配置创建Bean实例,并按照定义进行初始化、依赖注入,最后完成Bean的生命周期管理。 10. **实践操作**: 在实际开发中,我们可以使用Eclipse的Spring插件来简化Bean...
XmlBeanFactory 已经被置为 Deprecated,从 Spring 3.1 开始,但是 Spring 并没有定义出更加高级的基于 XML 加载 bean 的 BeanFactory,而是推荐采用更加原生的方式,即组合使用 DefaultListableBeanFactory 和 ...
此方法负责加载配置、创建Bean工厂以及启动事件监听器等。 3. **完成Bean工厂初始化**: 在`refresh()`方法内部,调用`finishBeanFactoryInitialization(beanFactory)`。这一步是为了确保所有单例Bean被预先实例化...
在Spring容器初始化时,它会根据配置加载Bean的定义,并根据需要创建Bean实例。Bean的生命周期大致分为以下几个阶段:构造、初始化、正常使用、销毁。如果一个Bean被创建了两次,那么可能是在构造或初始化阶段出现了...
spring 重新动态加载数据库或xml中的bean,可以不用重启tomcat
本篇文章主要介绍了Spring多种加载Bean方式解析,通过对Bean加载方式的详细解析,了解Spring中的Bean加载机制。 定义Bean的方式 在Spring中,定义Bean的方式有多种,常见的定义Bean的方式有三种: 1. 通过xml的...
因此,在使用 DependsOn 注解时,需要了解 Spring 中 bean 的加载过程,以免出现错误。 其他实现方式 除了上述两种方式外,还有其他方式可以控制 2 个 bean 的初始化顺序。例如,可以使用 Spring 的 @Order 注解来...
在Spring框架中,Bean加载是核心功能之一,它关乎到整个应用的生命周期管理和依赖注入。Spring通过XML配置、注解配置或Java配置三种方式来定义Bean,并进行加载。接下来,我们将详细探讨Spring Bean加载的过程及其...
`<bean>`元素用于告诉Spring容器一个类及其配置方式。它包含了以下关键属性: - **class属性**:表示JavaBean的全限定类名。例如,`com.example.MyClass`。这是Spring创建Bean实例的基础。 - **id属性**:是Bean...
在测试代码中,通常会创建一个或多个模拟Bean,然后使用`ApplicationContext`来加载配置并启动生命周期管理。通过断言和日志记录,我们可以验证各个生命周期方法是否按预期执行,以及Bean的状态是否正确。 总的来说...
Spring bean 加载执行顺序实例解析 在 Spring 框架中,Bean 的加载和执行顺序是一个非常重要的概念。今天,我们将通过一个实例来解析 Spring bean 加载执行顺序,了解 Spring 中 Bean 的生命周期。 首先,让我们来...
在Spring框架中,动态加载配置文件是一项重要的功能,它使得开发者在开发过程中无需重启应用就能实时更新配置,极大地提高了开发效率。热部署方案是这一功能的具体应用,它允许我们在不中断服务的情况下,对应用程序...
3. **测试**:为了验证Bean的正确配置和依赖注入,通常我们会编写JUnit测试用例,使用`@ContextConfiguration`注解加载配置,并使用`@Autowired`注入需要的Bean。例如: ```java @RunWith(SpringRunner.class) @...
Spring Boot遵循"约定优于配置"的理念,简化了配置,但同时也带来了需要手动干预Bean加载顺序的问题。本文将探讨为什么需要控制Bean加载顺序、常见的误解,以及如何有效地实现Bean的加载顺序控制。 1. 为什么需要...
本教程主要探讨的是如何在Spring中通过注解来控制Bean的加载,以实现更加灵活的依赖注入和应用程序控制。我们将深入理解以下几个核心概念: 1. **@Component、@Service、@Repository和@Controller** 这些是Spring...