Spring5参考指南: BeanWrapper和PropertyEditor

BeanWrapper 通常来说一个Bean包含一个默认的无参构造函数,和属性的get,set方法。 org.springframework.beans 包里面有个很重要的类叫做BeanWrapper接口和他的实现BeanWrapperImpl,BeanWrapper提供了设置和获取属性值(单个或批量)、获取属性描述符和查询属性的功能,以确定它们是可读的还是可写的。 此外,BeanWrapper还…

Spring5参考指南: Resources

Spring定义了Resource接口用来对资源的访问,一般来说资源有两种形式,一种是URL的形式从外部链接加载,一种是File的形式从系统本身查找。 Spring的Resource提供了如下接口: public interface Resource extends InputStreamSource { boolean exists(); boolean isOpen(); URL getURL…

Spring5参考指南:事件Event

Spring提供了很方便的事件的处理机制,包括事件类ApplicationEvent和事件监听类ApplicationListener。 他实现的是设计者模式,如果实现了ApplicationListener接口的bean部署到Spring容器中,则每次ApplicationEvent发布到ApplicationContext时,都会通知该bean。 从Spring4.2开始,提供了基于注解的事件…

Spring5参考指南:Environment

Spring的Environment接口有两个关键的作用:1. Profile, 2.properties。可以看下该接口的定义: public interface Environment extends PropertyResolver { /** * Return the set of profiles explicitly made active for this environment. …

Spring5参考指南:组件扫描

组件扫描 上一篇文章我们讲到了annotation-config配置,它主要用于bean内部的属性注入。而bean本身则需要通过配置的方式来定义。如果想使用配置的方式来定义bean,则可以使用component-scan,如下: <context:component-scan base-package=”com.flydean”/> component-scan会扫描类路径里面的注解注…

Spring5参考指南:基于注解的容器配置

Spring的容器配置可以有两种方式,一种基于XML文件, 一种基于注解。注解注入在XML注入之前执行。因此,当两个同时使用时,XML配置会覆盖注解注入的属性。 本文会主要介绍 @Required,@Autowired, @PostConstruct, @PreDestroy 和 @Resource 这几个注解。 这几个注解都是由 来引入的。本质上引入这个配置会隐式的注册AutoWiredAnno…

Spring5参考指南:Bean的生命周期管理

Spring Bean 的生命周期回调 Spring中的Bean是随着Spring容器产生的,当Spring容器关闭的时候,相应的Bean也会消失。当然这个和Bean自身的作用域范围也有关系,但是通常都逃不过 初始化,运行,关闭这三个状态。 在Spring中,我们通常需要在Bean刚刚初始化的时候,或者Bean被销毁的时候做一些额外的资源处理的事情。Spring提供了InitializingBea…