`
a137268431
  • 浏览: 157546 次
文章分类
社区版块
存档分类
最新评论

@PostConstruct 和 @PreDestory的应用

 
阅读更多

依然直接上代码,代码才是王道!!!

App.java

package com.mkyong.common;

import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.mkyong.customer.services.CustomerService;

public class App 
{
    public static void main( String[] args )
    {
    	ConfigurableApplicationContext context = 
    		new ClassPathXmlApplicationContext(new String[] {"Spring-Customer.xml"});
	
    	CustomerService cust = (CustomerService)context.getBean("customerService");
    	
    	System.out.println(cust);
    	
    	context.close();
    }
}


CustomerService.java

package com.mkyong.customer.services;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

public class CustomerService
{
	String message;
	
	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}
	
	@PostConstruct
	public void initIt() throws Exception {
		System.out.println("Init method after properties are set : " + message);
	}
	
	@PreDestroy
	public void cleanUp() throws Exception {
		System.out.println("Spring Container is destroy! Customer clean up");
	}
	
}

Spring-Customer.xml

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">

   <context:annotation-config />

   <bean id="customerService" class="com.mkyong.customer.services.CustomerService">
   		<property name="message" value="i'm property message" />
   </bean>
		
</beans>

AppTest.java

package com.mkyong.common;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 * Unit test for simple App.
 */
public class AppTest 
    extends TestCase
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }

    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }

    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}


分享到:
评论

相关推荐

    java @PostConstruct和@PreConstruct注解

    Java @PostConstruct 和 @PreConstruct 注解详解 Java 中的 @PostConstruct 和 @PreConstruct 注解是从 Java EE5 规范开始引入的,它们是用来修饰 Servlet 生命周期的两个重要的注解。下面将详细介绍这两个注解的...

    @PostConstruct 和 @PreDestroy 使用

    在Java世界中,`@PostConstruct` 和 `@PreDestroy` 是两个非常重要的注解,它们主要用于管理组件的生命周期,特别是在使用Spring框架或者Java EE应用中。这两个注解是JSR 250规范的一部分,提供了对bean初始化和销毁...

    @PostConstruct注解用来获取springbean对象.txt

    获取springbean对象

    Spring定时任务中@PostConstruct被多次执行异常的分析与解决

    在Spring框架中,`@PostConstruct` 是一个用于标记初始化方法的注解,该方法会在对象完全初始化并准备好...通过以上分析和解决方案,你应该能够解决`@PostConstruct`被多次执行的问题,确保Spring定时任务正常运行。

    SpringBoot @PostConstruct原理用法解析

    今天,我们将深入探讨 @PostConstruct 的用法和原理,并通过示例代码来演示其应用场景。 @PostConstruct 的原理 --------------------- @PostConstruct 注解是 Java EE 5 中引入的一个注解,用于标记某个方法在 ...

    Spring实战之使用@POSTConstruct和@PreDestroy定制生命周期行为操作示例

    `@POSTConstruct` 和 `@PreDestroy` 注解允许我们在Bean初始化完成后执行特定的操作,并在Bean销毁之前执行清理工作。本示例详细介绍了如何在Spring中使用这两个注解来定制Bean的生命周期行为。 首先,让我们了解...

    源码深入解析spring 的初始化方法 initMethod (标有注解的@postConstruct的方法)–极度细致!

    @postConstruct 所标注的方法 内部是靠的spring提供的两个后置处理器(InitDestroyAnnotationBeanPostProcessor 和 CommonAnnotationBeanPostProcessor)共同 协调分布处理完成的。 这2点也是网上绝大部人没讲明白的...

    详解spring boot容器加载完后执行特定操作

    "Spring Boot 容器加载完成后执行特定操作" Spring Boot 框架提供了多种方式来执行容器加载完成后的特定操作,例如使用 ApplicationListener...这些方法可以满足不同场景下的需求,使得我们的应用程序更加灵活和可靠。

    SpringBoot项目启动时实现调用一次初始化方法.docx

    除了使用注解和接口,你还可以在Spring Boot的主启动类中直接定义一个初始化方法。这种方法适用于一些简单的初始化逻辑,通常不推荐在主启动类中包含过多业务逻辑,因为它会使得启动类变得复杂。示例如下: ```...

    Spring IOC之方法注入

    总结来说,Spring的IoC方法注入提供了一种灵活的方式来管理和初始化对象,通过`@PostConstruct`和`@PreDestroy`注解,或者实现`InitializingBean`和`DisposableBean`接口,我们可以在对象生命周期的关键点执行特定的...

    Certinside 310-091免费题库下载

    该考试涵盖Java EE Platform 5的相关技术,重点在于评估考生对于EJB(Enterprise JavaBeans)、JPA(Java Persistence API)等关键技术的理解和应用能力。 #### 3. 技能要求 考生需要掌握以下核心技能: - EJB的...

    spring注解注入示例详解.pdf

    在使用@PostConstruct时,一个典型的应用场景是在父类中定义了一个属性,但是父类中并没有提供该属性的setter方法,子类需要通过自己的方法来设置该属性。这时,可以在子类的适当方法上使用@PostConstruct注解来完成...

    spring MVC 初始启动blocking queue

    总结来说,`spring MVC 初始启动concurrent blocking queue`涉及的是在Spring MVC应用启动时使用`@PostConstruct`注解初始化并使用`BlockingQueue`进行并发控制和任务处理。这一技术可以帮助提高系统性能,特别是在...

    14、加载spring启动首先进入的类方法注解1

    本文将详细讨论在Spring中使用`@PostConstruct`和`@PreDestroy`注解以及`InitializingBean`和`DisposableBean`接口来控制Bean的生命周期。 1. **使用@PostConstruct和@PreDestroy注解** `@PostConstruct`注解标记...

    Spring Bean的初始化和销毁实例详解

    在本文中,我们详细讲解了Spring Bean的初始化和销毁,包括使用@Bean的initMethod和destroyMethod、JSR-250的@PostConstruct和@PreDestroy注解等多种方式来控制Bean的生命周期。在实际开发中,我们可以根据需要选择...

    spring3注解详细

    本文将详细介绍几个关键的注解,包括 @Autowired、@Qualifier、@Resource 和 @PostConstruct,以及它们在实际开发中的应用。 ## 1. @Autowired 注解 @Autowired 是 Spring 提供的一种自动装配机制,它可以根据类型...

    动态的装配bean,注入到Controller中

    本篇将详细解释两种实现方式:基于XML配置和使用`@PostConstruct`注解。 首先,让我们探讨**XML配置方式**。在Spring的IoC(Inversion of Control)容器中,XML配置文件是定义bean及其依赖关系的传统方式。在题目...

    基于Java的源码-ejbCreate函数用于初始化一个EJB实例.zip

    在Java企业版(Java EE)开发中,Enterprise JavaBeans(EJB)是一个核心组件,用于构建可部署在...理解EJB的生命周期和初始化过程,有助于开发者更好地理解和利用EJB容器提供的功能,提高应用程序的效率和可靠性。

    spring加载顺序讨论

    在Spring框架中,加载顺序是理解应用程序启动过程的关键部分,涉及到bean的实例化、...在实际开发中,合理利用`@PostConstruct`、`构造方法`和`@Autowired`可以有效地控制Bean的生命周期,提高代码的可维护性和灵活性。

Global site tag (gtag.js) - Google Analytics