ApplicationContext context =
new ClassPathXmlApplicationContext(new String[] {"services.xml", "daos.xml"});
Using the method T getBean(Stringname, Class<T>
requiredType) you can retrieve instances of your beans.
// retrieve configured instance
PetStoreServiceImpl service = context.getBean("petStore", PetStoreServiceImpl.class);
// use configured instance
List userList service.getUsernameList();
Instantiating beans
Most Spring users prefer actual JavaBeans with only a default (no-argument)
constructor and appropriate setters and getters modeled after the properties in the container
1:Instantiation with a constructor
<bean id="exampleBean" class="examples.ExampleBean"/>
<bean name="anotherExample" class="examples.ExampleBeanTwo"/>
2:Instantiation with a static factory method
<bean id="clientService"
class="examples.ClientService"
factory-method="createInstance"/>
public class ClientService {
private static ClientService clientService = new ClientService();
private ClientService() {}
public static ClientService createInstance() {
return clientService;
}
}
3:Instantiation using an instance factory method
<!-- the factory bean, which contains a method called createInstance() -->
<bean id="serviceLocator" class="examples.DefaultServiceLocator">
<!-- inject any dependencies required by this locator bean -->
</bean>
<!-- the bean to be created via the factory bean -->
<bean id="clientService"
factory-bean="serviceLocator"
factory-method="createClientServiceInstance"/>
public class DefaultServiceLocator {
private static ClientService clientService = new ClientServiceImpl();
private DefaultServiceLocator() {}
public ClientService createClientServiceInstance() {
return clientService;
One factory class can also hold more than one factory method as shown here:
<bean id="serviceLocator" class="examples.DefaultServiceLocator">
<!-- inject any dependencies required by this locator bean -->
</bean>
<bean id="clientService"
factory-bean="serviceLocator"
factory-method="createClientServiceInstance"/>
<bean id="accountService"
factory-bean="serviceLocator"
factory-method="createAccountServiceInstance"/>
public class DefaultServiceLocator {
private static ClientService clientService = new ClientServiceImpl();
private static AccountService accountService = new AccountServiceImpl();
private DefaultServiceLocator() {}
public ClientService createClientServiceInstance() {
return clientService;
}
public AccountService createAccountServiceInstance() {
return accountService;
}
}
引用
Note
In Spring documentation, factory bean refers to a bean that is configured in the Spring
container that will create objects through an instance or static factory method. By contrast,
FactoryBean (notice the capitalization) refers to a Spring-specific FactoryBean
分享到:
相关推荐
#### 3.1 Introduction to the Spring IoC container and beans Spring IoC容器是Spring框架的核心,它负责管理应用程序中的对象(即beans)。通过使用Spring IoC容器,开发者可以将对象的创建和管理任务委托给容器...
1. **Core Container(核心容器)**:包括 Core、Beans、Context 模块,提供 IoC 和 DI 功能。 2. **Data Access/Integration(数据访问/集成)**:如 JDBC、ORM、OXM、JMS 和 TX 模块,支持数据库访问和数据集成。 ...
在Spring框架中,依赖注入(Inversion of Control, IoC)和面向切面编程(Aspect Oriented Programming, AOP)是两大核心特性。本篇将深入探讨如何通过注解方式来模拟Spring的这两种机制,帮助你理解其底层原理。 #...
4.1. Introduction to the Spring IoC container and beans .............................................. 22 4.2. Container overview .........................................................................
4.1. Introduction to the Spring IoC container and beans .............................................. 22 4.2. Container overview .........................................................................
这里导入了 Spring Context 模块,该模块包含了 Spring Core 和 Spring Beans 模块的功能,并提供了对应用上下文的支持。 #### 2.3 编写 Dao 接口和实现类 定义了一个简单的 `UserDao` 接口及其实现类 `...
Spring IoC容器是Spring框架的核心组件之一,文档中提供了关于Spring IoC容器和beans的介绍。 - IoC容器的介绍:深入讲解了什么是IoC容器,它如何工作以及它在Spring框架中的作用。 - 容器概述:这部分详细解释了...
在早期版本的Spring中,DI主要通过XML配置文件来实现,这就是所谓的Inversion of Control Container(控制反转容器),也就是IOC。本文将深入探讨Spring如何通过XML配置实现IOC,以及其背后的原理和应用。 首先,...
- **Spring IoC 容器和 Beans:** 介绍了 Spring IoC 容器的核心概念和 Beans 的定义。 - **容器概览:** - **配置元数据:** 描述了如何使用 XML、注解或 Java 配置类来定义容器的配置。 - **实例化容器:** 介绍...
文档首先讲解了Spring IoC容器和beans的基本概念,以及IoC容器的配置元数据。 8. 在配置元数据方面,文档讨论了基于XML的配置元数据、Java配置元数据,以及如何使用容器来实例化、组合和使用这些配置元数据。 9. ...
9、什么是SpringIOC容器? Spring IOC容器是Spring框架的核心,它负责创建对象、装配以及管理这些对象的整个生命周期,从创建到销毁。其核心思想是反转控制(IoC),即控制权由应用代码转移到了Spring容器。 10、...
在本项目中,我们将根据Spring的IoC原理,尝试实现自己的IoC框架。 首先,理解IoC的概念至关重要。IoC是指应用程序的控制权由传统的方式(如:对象直接创建和管理依赖关系)转移到框架或容器中,这样对象不再负责...
对于IoC容器,Spring框架文档详细介绍了Spring IoC容器和beans的基本概念,容器的配置元数据方式,以及如何实例化容器和使用容器。文档中也涵盖了beans的命名、别名定义,以及不同实例化方法,例如通过构造函数和...
Define and inject dependencies into your objects using the IoC container Make use of Spring’s reactive features including tools and implement a reactive Spring MVC application Book Description Spring...
1. **Spring Core Container**:这是Spring框架的基础,包括IoC(Inversion of Control)容器和依赖注入。IoC使得对象的创建和管理由容器负责,降低了对象之间的耦合度。 2. **AOP(Aspect-Oriented Programming)*...
Spring 框架的主要模块包括 Core Container、AOP、Web、Web-Servlet、Web-Struts 和 JDBC 等。 二、 Java-Spring 整合的优点 使用 Java-Spring 整合可以带来很多优点,例如: * 简化开发:Spring 框架提供了一个...
在IT行业中,Spring框架是Java开发中的一个基石,尤其在控制反转(IoC)和依赖注入(DI)方面。依赖注入是一种设计模式,它允许我们解耦组件,提高代码的可测试性和可维护性。Spring框架通过IoC容器来实现DI,让我们...
Spring Core Container是Spring框架的基础,包括 Beans、Core、Context三个子模块。Beans模块提供了bean工厂,它是Spring IoC容器的基础,负责创建、配置和管理对象。Core模块提供了核心工具类,而Context模块构建...
1. **Spring Core Container**:这是Spring框架的基础,包括Beans和Core Containers两个子模块。Beans模块提供了Bean工厂,它是Spring IoC容器的实现,负责创建、配置和管理对象。Core Containers模块则包含Spring的...
- **1.2.2.1 Core Container**:核心容器提供Spring框架的基本功能。它包括BeanFactory和ApplicationContext等接口和实现,是所有应用程序的基础。 - **1.2.2.2 AOP and Instrumentation**:提供面向切面编程...