1. @PostConstruct
- 该注解作用于方法
package javax.annotation;
@Documented
@Retention (RUNTIME)
@Target(METHOD)
public @interface PostConstruct {
}
2. @PreDestroy
- 该注解作用于方法
package javax.annotation;
@Documented
@Retention (RUNTIME)
@Target(METHOD)
public @interface PreDestroy {
}
3. Spring Bean 初始化和销毁
3.1 Java 注解:@PostConstruct, @PreDestroy
@Component
@Slf4j
public class UserConfig {
@PostConstruct
public void init() {
log.info("UserConfig init...");
}
@PreDestroy
public void destroy() {
log.info("UserConfig destroy...");
}
}
3.2 xml 配置方式
3.3 @Bean 注解方式
@Configuration
public class BusinessManager {
@Bean(name = "userConfig", initMethod="init",destroyMethod="destroy")
public UserConfig userConfig(){
return new UserConfig();
}
}
@Slf4j
public class UserConfig {
public void init() {
log.info("UserConfig init...");
}
public void destroy() {
log.info("UserConfig destroy...");
}
}
4. 案例
@Slf4j
public class UserConfig {
private final List shopList = new CopyOnWriteArrayList();
public List getShopList() {
return shopList;
}
public UserConfig() {
log.info("UserConfig Constructor....");
}
public void init() {
log.info("UserConfig init...");
}
public void destroy() {
log.info("Spring IoC容器关闭, UserConfig destroy...");
}
@PostConstruct
public void initBean() {
log.info("UserConfig initBean...");
}
@PreDestroy
public void destroyBean() {
log.info("Spring IoC容器关闭, UserConfig destroyBean ...");
}
}
@Configuration
public class BusinessManager {
@Bean(name = "userConfig", initMethod="init",destroyMethod="destroy")
public UserConfig userConfig(){
return new UserConfig();
}
}
打印日志:
2024-01-28 15:38:17.769 INFO 7245 --- [ main] c.e.concrete.starter.config.UserConfig : UserConfig Constructor....
2024-01-28 15:38:17.770 INFO 7245 --- [ main] c.e.concrete.starter.config.UserConfig : UserConfig initBean...
2024-01-28 15:38:17.770 INFO 7245 --- [ main] c.e.concrete.starter.config.UserConfig : UserConfig init...
2024-01-28 15:38:41.011 INFO 7245 --- [ionShutdownHook] c.e.concrete.starter.config.UserConfig : Spring IoC容器关闭, UserConfig destroyBean ...
2024-01-28 15:38:41.011 INFO 7245 --- [ionShutdownHook] c.e.concrete.starter.config.UserConfig : Spring IoC容器关闭, UserConfig destroy...
【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】
© 版权声明
部分内容为互联网分享,若有侵权请联系站长删除。
THE END
暂无评论内容