`
nannan408
  • 浏览: 1783887 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

架构师之spring-------用afterPropertiesSet代替监听器

 
阅读更多
1.前言.
   如题.
2.详情.
   

org.springframework.beans.factory包下有一个接口是InitializingBean 只有一个方法:

/**
  * Invoked by a BeanFactory after it has set all bean properties supplied
  * (and satisfied BeanFactoryAware and ApplicationContextAware).
  * <p>This method allows the bean instance to perform initialization only
  * possible when all bean properties have been set and to throw an
  * exception in the event of misconfiguration.
  * @throws Exception in the event of misconfiguration (such
  * as failure to set an essential property) or if initialization fails.
  */
 void afterPropertiesSet() throws Exception;

 

这个方法将在所有的属性被初始化后调用。

但是会在init前调用。

但是主要的是如果是延迟加载的话,则马上执行。

所以可以在类上加上注解:

import org.springframework.context.annotation.Lazy;

@Lazy(false)

这样spring容器初始化的时候afterPropertiesSet就会被调用。

只需要实现InitializingBean接口就行。

如果代码在这里初始化的话,半天都找不到。。



转自:http://www.cnblogs.com/java-boy/archive/2012/12/21/2827729.html
分享到:
评论

相关推荐

    spring-mybatis-2.0.0源码

    《Spring与MyBatis整合深度解析——基于2.0.0源码》 在Java开发领域,Spring框架和MyBatis作为两个极为重要的组件,它们的整合应用是常见的技术实践。Spring提供了一种全面的、模块化的应用开发框架,而MyBatis则是...

    spring-hook-test.rar

    `@ApplicationListener`则可以监听Spring应用事件,比如ContextRefreshedEvent,实现自定义的启动和关闭逻辑。 6. **测试**:在“spring-hook-test”项目中,很可能包含了对上述生命周期接口和注解的测试用例。测试...

    spring-boot-redis.zip

    本项目"spring-boot-redis.zip"显然是一个关于如何使用Spring Boot整合Redis的示例,旨在帮助开发者了解如何在Spring Boot应用中利用Redis进行数据存储和检索。 首先,我们来讨论Spring Boot与Redis的集成。Spring ...

    架构师面试题系列之Spring面试专题及答案(41题).docx

    了解 Spring 的生命周期对于架构师和开发人员来说是非常重要的。 一、 Spring 生命周期 Spring 框架的生命周期可以分为两大阶段: Bean 的实例化和 Bean 的销毁。 1. Bean 的实例化 Bean 的实例化是指从 XML ...

    mybatis-spring-1.2.3-source

    本文将详细探讨 MyBatis-Spring 1.2.3 版本的源码,揭示其内部工作机制,帮助开发者更好地理解和使用这个库。 首先,我们来看 MyBatis-Spring 的核心功能。它主要提供了以下组件: 1. **SqlSessionFactoryBean**:...

    spring工程需要的四个核心jar包之beans包

    Spring支持通过setter方法注入、构造器注入、接口回调等方式进行依赖注入。 2. **依赖注入(Dependency Injection,DI)** - DI是Spring的核心特性之一,允许Bean之间的依赖关系通过配置文件或注解来定义,而不是...

    LDAP实现AD域账号验证 - Java/SpringBoot

    defaultSource.afterPropertiesSet(); LdapAuthenticationProvider provider = new LdapAuthenticationProvider( new LdapUserSearch("ou=Users,dc=example,dc=com", "(sAMAccountName={0})", contextSource), ...

    spring-startup

    Spring框架作为Java领域最流行的开源框架之一,它的启动过程是许多开发者需要理解的基础知识。本文将深入探讨Spring框架的启动流程,包括核心组件、配置加载以及初始化过程,帮助读者全面了解Spring如何从无到有地...

    Spring IoC源码深度剖析开源架构源码2021.pdf

    标题《Spring IoC源码深度剖析开源架构源码2021.pdf》和描述《Spring IoC源码深度剖析开源架构源码2021.pdf》表明该文档主要面向于分析Spring框架中控制反转(IoC)容器的核心源码,解析和理解其内部的工作机制及...

    spring-lifecycle:一个用于试验 spring 生命周期的小示例应用程序

    - **构造器注入**:Spring可以通过无参构造函数实例化bean,并使用setter方法或构造器参数进行依赖注入。 - **初始化回调方法**:Spring支持`@PostConstruct`注解的方法,该方法会在所有属性设置完成后调用,用于...

    Spring2(源码)

    Spring框架是Java开发中最常用的轻量级开源框架之一,它以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)能力而著名。源码分析是理解Spring工作原理的关键,能...

    mybatis spring 多数据源

    标题 "mybatis spring 多数据源" 涉及到的是在Java开发中,如何使用MyBatis和Spring框架来管理多个数据库连接。这通常在需要处理来自不同数据源的数据或者实现数据库读写分离的场景下应用。MyBatis是一个优秀的持久...

    Spring系列面试题129道(附答案解析)

    Spring的WEB模块提供了构建Web应用程序的基础架构,包括支持多部分文件上传、使用Servlet监听器初始化IoC容器以及集成Spring MVC。 70、解释Spring配置文件。 Spring配置文件是一个XML文件,它包含了应用程序中Bean...

    spring整合redis

    在IT行业中,Spring框架是Java开发中的核心工具,而Redis则是一种高性能的键值数据库,常用于缓存、消息队列等场景。当我们在项目中需要整合Spring与Redis时,通常是为了利用Spring的强大功能来管理和操作Redis数据...

    spring-configurable-sample

    #自述文件使用 spring @Configurable 注释的“原型”bean 类型的示例(也请记住单例 bean),即使用普通的“new”运算符创建 bean,然后 spring 进一步控制初始化 bean,替换 @Value 占位符 bean 属性上的值,调用 ...

    Spring学习笔记(精华全记录)

    这种组合方式通常被称为SSH (Struts + Spring + Hibernate) 架构。 #### Spring的核心概念 - **IoC (控制反转)**:这是Spring的核心特性之一。控制反转意味着将对象的创建和依赖管理从应用代码中移除,交由Spring...

    Spring整合Redis用作缓存-注解方式

    在本文中,我们将深入探讨如何使用Spring框架与Redis集成,以实现高效的缓存管理。Redis是一种内存中的数据结构存储系统,常被用作数据库、缓存和消息中间件。Spring框架提供了一种灵活且强大的方式来整合Redis,...

    spring整合redis小demo

    Spring作为Java领域广泛使用的应用框架,提供了丰富的集成机制,使得与Redis的结合变得简单而高效。 首先,我们需要在项目中引入Spring对Redis支持的相关依赖。在Maven项目中,可以在pom.xml文件中添加如下依赖: ...

Global site tag (gtag.js) - Google Analytics