一、基本介绍
@PostConstruct
该注解被用来修饰一个非静态的void()
方法。被@PostConstruct
修饰的方法会在服务器加载Servlet
的时候运行,并且只会被服务器执行一次
。@PostConstruct
在构造函数之后执行,init()
方法之前执行。
通常我们会是在Spring框架中使用到@PostConstruct注解 该注解的方法在整个Bean初始化中的执行顺序:Constructor
(构造方法) -> @Autowired
(依赖注入) -> @PostConstruct
(注解的方法)
二、用途
@PostConstruct
主要用于处理一些初始化工作。
比如下面代码
@RestController
@RequestMapping(value = "book")
@Slf4j
public class BookController {
@Resource
private IBookService bookService;
/**
* 构造函数
*/
public BookController() {
log.info("构造函数,此时bookService :" + bookService);
}
@PostConstruct
public void init() {
log.info("PostConstruct,此时bookService :" + bookService);
}
@GetMapping(value = "search")
public List<Book> search() {
return bookService.search();
}
}
看下控制台
可以看到,构造函数里面,Bean
还没有初始化,@PostConstruct
里面已经完成初始化,所以,我们可以通过@PostConstruct
完成一些初始化后的操作。
评论 (0)