beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!--实例化bean方法一 -->
<bean id="personservice" class="cn.itcast.service.impl.PersonServiceBean"
lazy-init="default" init-method="init">
</bean>
<!--实例化bean方法二 -->
<bean id="personservice2" class="cn.itcast.service.impl.PersonServiceBeanFactory" factory-method="createPersonServiceBean">
</bean>
<!--实例化bean方法三 -->
<bean id="personservicefactory" class="cn.itcast.service.impl.PersonServiceBeanFactory" >
</bean>
<bean id="personservice3" factory-bean="personservicefactory" factory-method="createPersonServiceBean2">
</bean>
</beans>
包cn.itcast.service.impl中的两个类,
普通bean类:PersonServiceBean
package cn.itcast.service.impl;
import cn.itcast.service.IPersonService;
public class PersonServiceBean implements IPersonService {
/* (non-Javadoc)
* @see cn.itcast.service.impl.IPersonService#save()
*/
//此方法在配置文件bean标签中用init-method属性调用
public void init(){
System.out.println("初始化");
}
public PersonServiceBean(){
System.out.println("我被实例化了");
}
public void save(){
System.out.println("这是PersonServiceBean类中的save方法");
}
public void destroy(){
System.out.println("关闭打开的资源");
}
}
PersonServiceBean所继承的接口:IPersonService
package cn.itcast.service;
public interface IPersonService {
public abstract void save();
}
工厂类:PersonServiceBeanFactory
package cn.itcast.service.impl;
public class PersonServiceBeanFactory {
public static PersonServiceBean createPersonServiceBean(){
return new PersonServiceBean();
}
public PersonServiceBean createPersonServiceBean2(){
return new PersonServiceBean();
}
}
分享到:
相关推荐
- **实例化Bean的方式**:包括使用构造器、静态工厂方法和实例工厂方法三种方式。 - **构造器实例化**:通过Bean定义中的`class`属性指定类的完整名称,容器会调用无参构造器来实例化Bean。 - **静态工厂方法实例...
`BeanPostProcessor`接口提供了一种在Bean实例化之后、初始化之前和初始化之后进行操作的机制。它有两个方法:`postProcessBeforeInitialization()`和`postProcessAfterInitialization()`。这些方法可以在每个Bean...
这篇“Spring学习笔记(2)----实例化Bean的三种方式”着重讲解了如何在Spring应用上下文中初始化Bean。以下是这三种方式的详细说明: 1. **XML配置方式** 在早期的Spring版本中,XML配置是最常见的实例化Bean的...
### Spring2.5 学习笔记知识点概览 #### 第一课:面向抽象编程 - **概念理解**:面向抽象编程是一种设计模式,其核心思想是通过定义接口或抽象类来实现程序结构的设计,使具体实现与接口分离,增强系统的灵活性和...
在Spring 2.5中,Bean的生命周期包括实例化、初始化、正常使用以及销毁四个阶段。开发者可以通过实现接口或使用特定注解来定制Bean的生命周期行为。例如,可以使用`@PostConstruct`和`@PreDestroy`注解来标记初始化...
1. **使用类构造器实例化**:最常用的方式,通过指定类名直接实例化Bean。 ```xml <bean id="orderService" class="cn.itcast.OrderServiceBean"/> ``` 2. **使用静态工厂方法实例化**:通过调用静态工厂方法...
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
在Spring中,应用程序的组件被称为Bean,这些Bean被定义在配置文件中,由Spring容器管理其生命周期,包括实例化、初始化、装配和销毁。Bean可以通过XML、注解或者Java配置来定义。 五、Spring MVC Spring MVC是...
2. **IoC(控制反转)**:Spring的核心特性之一是依赖注入(Dependency Injection,简称DI),它是控制反转的一种实现方式。DI允许我们不直接在类内部创建对象,而是通过配置文件或注解来管理对象及其依赖关系,降低...
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...
4. **Bean的生命周期管理**:Spring中的Bean有完整的生命周期,包括实例化、初始化、配置、使用和销毁。开发者可以通过实现特定接口或者使用生命周期回调方法来定制Bean的行为。 5. **Bean的Scope**:Spring提供了...
标题和描述均提到了“spring指南学习笔记”,这意味着文档聚焦于Spring框架的学习心得与关键概念。Spring是一个开源的Java企业级应用框架,以其强大的依赖注入(Dependency Injection, DI)和面向切面编程(Aspect ...
- **学习笔记_7[1].4__Spring_MVC提供的更多功能**: 这部分可能会介绍Spring MVC的高级特性,比如视图解析器、拦截器、异常处理以及自定义转换器和格式化器。 - **Spring_MVC_3[1].0.5+Spring_3.0.5+MyBatis3.0.4全...
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...
- **2.1 IoC基础**:讲解了IoC的基本概念和工作原理,包括如何定义Bean,如何通过依赖查找和依赖注入来实例化和管理Bean。 - **2.2 IoC容器基本原理**:深入探讨了IoC容器如何读取配置,创建和管理Bean的生命周期,...
Spring不仅负责bean的实例化,还包括初始化、依赖注入、管理bean的生命周期方法,以及在不再需要bean时进行销毁。开发者可以通过实现接口或使用注解来定制bean的生命周期行为。 面向切面编程(AOP)是Spring的一个...
以上是 Spring 2.5.6 学习笔记中的关键知识点,通过这些基础知识的学习,开发者可以开始构建基于 Spring 框架的应用程序。接下来,可以进一步深入学习 Spring 的高级特性,如事务管理、安全性、Web 开发等方面的知识...