`
8821249
  • 浏览: 68729 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring笔记(四)Spring的后处理Bean

阅读更多
一、BeanPostProcessors接口
  1、用于对Bean的功能进行扩展,对Bean进行修改。
  2、在Bean初始化操作之前和之后各调用一次。

二、BeanFactoryPostProcessors接口
  1、用于在Bean实例化前,对配置信息进行修改。

三、后处理Bean的使用
  1、先实现接口和方法。
  2、在配置文件里注册Bean。
  3、Spring会在运行时自动发现有后处理并的实现,并在对应时机调用后处理Bean。

四、特殊的后处理Bean实现
  1、CustomEditorConfigurer属性编辑器。
    a、编写类继承PropertyEditorSupport,重写setAsText方法,方法最后要调用setValue方法。
    b、在配置文件中声明CustomEditorConfigurer类,将自定义的属性编辑器传入customEditors。
import java.beans.PropertyEditorSupport;

public class AddressEditor extends PropertyEditorSupport {
	
	public void setAsText(String text) throws IllegalArgumentException {
		String[] strs = text.split("-");
		Address address = new Address();
		address.setCity(strs[0]);
		address.setStreet(strs[1]);
		address.setRoomNum(strs[2]);
		setValue(address);
	}
}

	<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
		<property name="customEditors">
			<map>
				<entry key="ioc.Address">
					<bean class="ioc.AddressEditor" />
				</entry>
			</map>
		</property>
	</bean>

ioc.Address为要使用属性编辑器的类,ioc.AddressEditor为使用的属性编辑器

  2、PropertyPlaceholderConfigurer读取外部配置文件。
    a、写属性文件
    b、在Spring配置文件中声明PropertyPlaceholderConfigurer,将属性文件路径传入location属性。
    c、使用时,格式类似EL表达式${xxx}。
	<bean id="p" class="ioc.Person">
		<property name="addr">
			<value>${address.string}</value>
		</property>
	</bean>
	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="location" value="ioc/address.properties" />
	</bean>

ioc/address.properties是属性文件所在的位置

分享到:
评论

相关推荐

    spring笔记

    Spring 笔记 Spring 是 Java 企业版(Java EE)应用程序的框架,提供了结构化的配置文件,实现了控制反转(IoC)和面向切面编程(AOP),支持表现层、业务逻辑层和持久层。Spring 的核心是 IoC 和 AOP,能够与主流...

    Spring学习笔记(9)----让Spring自动扫描和管理Bean

    2. **`@Autowired`注入**:当Bean被自动扫描后,Spring可以使用`@Autowired`注解自动装配依赖。这个注解告诉Spring,应该找到类型匹配的Bean来注入当前Bean的属性、构造器参数或方法。 3. **`@Configuration`与`@...

    Spring的学习笔记

    以下将详细介绍Spring学习笔记中的主要知识点。 **面向抽象编程** 面向抽象编程是一种设计原则,强调在代码中使用接口或抽象类,而不是具体实现类。这使得系统更具有灵活性,易于扩展和维护。在Spring框架中,我们...

    Spring笔记

    本笔记将深入探讨Spring的核心概念和关键特性。 1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一是依赖注入,它允许开发者在运行时将对象的依赖关系动态地注入到它们之间,而不是在代码中硬...

    spring学习笔记

    ### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...

    Spring 学习笔记四

    【Spring 学习笔记四】 在本篇Spring学习笔记中,我们将深入探讨Spring框架的核心特性,包括依赖注入(Dependency Injection,DI)、AOP(面向切面编程)以及Spring的源码解析,同时也会介绍一些实用的开发工具。...

    Spring高级源码学习笔记.zip

    本笔记旨在深入解析Spring的高级源码,帮助程序员从应用层面过渡到源码级的理解。 Spring的核心组件包括Bean容器、AOP代理、数据访问/集成、MVC、Web服务等。首先,我们来探讨Bean容器,它是Spring的基础,负责管理...

    达内老师总结的spring笔记

    - **BeanFactory**:它是Spring容器的基本接口,负责实例化和管理Bean。XmlBeanFactory是最常见的实现,通过XML配置文件来定义Bean及其依赖关系。 - **ApplicationContext**:是BeanFactory的子接口,增加了更多功能...

    Struts2笔记+Hibernate3.6笔记+Spring3笔记

    **Spring3笔记** Spring是企业级应用的全面解决方案,包括依赖注入(DI)、面向切面编程(AOP)、事务管理等。以下是关键点: 1. **依赖注入(Dependency Injection, DI)**: 通过容器管理组件之间的依赖关系,...

    spring-boot学习笔记

    ### Spring Boot 学习笔记知识点总结 #### 一、Spring发展史 - **Spring1.x时代**:在Spring1.x的时代,主要通过XML文件来配置Bean。随着项目的规模扩大,XML配置文件的数量也随之增加,这导致开发人员需要频繁地...

    Spring技术内幕 学习笔记

    《Spring技术内幕 学习笔记》是一份深入探讨Spring框架核心机制的学习资料,结合作者zzc1684在iteye博客上的博文,我们可以从中学习到Spring框架的多个重要知识点。Spring作为Java企业级应用开发的基石,其设计思想...

    Spring&Mybatis&SpringMVC总结笔记-最全最基础.pdf

    Spring全家桶中常见的注解包括@Controller、@RestController、@Service、@Repository、@Component、@Configuration、@Resource、@Bean、@Value、@PropertySource、@ResponseBody、@RequestMapping、@SpringBoot...

    Spring学习笔记(6)----编码剖析Spring依赖注入的原理

    对于`@Autowired`的处理,Spring在Bean实例化后会执行一个称为“依赖解析”的过程。这个过程会查找所有待注入的属性,并尝试匹配BeanDefinition中的依赖定义。 在具体实现中,Spring的`DefaultListableBeanFactory`...

    spring学习笔记(四)

    这个类是Spring的一个Bean后处理器,它会在Bean实例化之后,查找并处理`@Value`注解,将注入的值设置到相应的字段或方法上。在处理过程中,Spring会使用`ExpressionParser`解析表达式,如果表达式包含SpEL(Spring ...

    Spring笔记.doc

    而在 Spring 中,我们可以声明一个 `UserDao` 的 Bean,并通过 IoC 容器自动创建和管理其实例,降低了耦合度,便于测试和维护。 2. **面向切面编程(AOP)** AOP 是一种编程范式,它允许在运行时动态插入代码来...

    spring笔记.docx

    Spring框架是Java开发...总之,Spring框架提供了丰富的功能和灵活性,从简单的Bean管理到复杂的AOP和事务处理,都为开发者带来了极大的便利。通过学习和理解这些基本概念,小白也能逐步成长为Spring框架的熟练使用者。

    Java相关课程系列笔记之十五Spring学习笔记

    通过定义init-method和destroy-method属性,可以指定在Bean创建后和销毁前执行的方法。 2.6 案例:整合测试 在实际项目中,我们会编写测试类,模拟应用环境,利用@Autowired注解自动注入需要的Bean,并调用相关方法...

    Spring学习笔记之bean生命周期

    《Spring学习笔记之bean生命周期》 在Spring框架中,Bean是核心组件,它们构成了应用程序的主要结构。理解Spring Bean的生命周期对于有效地管理和优化Spring应用程序至关重要。本文将深入探讨Spring Bean的生命周期...

Global site tag (gtag.js) - Google Analytics