spring三种Bean的初始化和销毁方式

Maven搭建好项目

贴上依赖

<dependencies>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>4.3.2.RELEASE</version>
		</dependency>

	</dependencies>

第一种初始化和销毁方式

实现InitializingBean和DisposableBean初始化和销毁接口,分别重写对应的方法

package com.gcxzflgl;

import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;

public class MyBeans implements InitializingBean,DisposableBean{

	@Override
	public void afterPropertiesSet() throws Exception {
		System.out.println("==========catinit===");
	}

	@Override
	public void destroy() throws Exception {
		System.out.println("======销毁=======");
	}



}

编写配置类进行装配

package com.gcxzflgl;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;

@Configuration
public class MyConfig {

	@Bean
	public MyBeans createCat() {
		return new MyBeans();
	}
}

编写主类

package com.gcxzflgl;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class App {

	public static void main(String[] args) {
		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);
		System.out.println(context.getBean(MyBeans.class));
		context.close();
	}

}


第二种初始化和销毁方式

 自定义方法实现

package com.gcxzflgl;

public class MyBeans2 {

	
	public void init() {
		System.out.println("---init----");
	}
	
	public void destory() {
		System.out.println("====destory====");
	}
}

在MyConfig.class中添加配置l类

@Bean(initMethod="init",destroyMethod="destory")
	public MyBeans createMyBeans2() {
		return new MyBeans2();
	}

主类(App.class)添加

System.out.println(context.getBean(MyBeans2.class));



第三种初始化和销毁,使用JSR250提供的方式

package com.gcxzflgl;

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

public class MyBeans3 {

	@PostConstruct
	public void initial() {
		System.out.println("=============init==============");
	}
	
	@PreDestroy
	public void destory() {
		System.out.println("============destory============");
	}
}

MyConfig.class添加配置

	@Bean
	public MyBeans3 createMyBeans3() {
		return new MyBeans3();
	}
主类添加
System.out.println(context.getBean(MyBeans3.class));


以上就是三种Bean的初始化和销毁方式!

猜你喜欢

转载自blog.csdn.net/gcxzflgl/article/details/80269042