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的初始化和销毁方式!