Spring Boot @PostConstruct 教程显示了如何在 Spring 应用中使用@PostConstruct
注解。
Spring 是流行的 Java 应用框架,而 Spring Boot 是 Spring 的演进,可以帮助轻松地创建独立的,生产级的基于 Spring 的应用。
@PostConstruct
@PostConstruct
是在依赖注入完成以执行任何初始化之后需要执行的方法上使用的注解。
Spring Boot @PostConstruct
示例
以下应用演示了@PostConstruct
的用法。 它使用注解创建两个日志方法,在初始化它们的 bean 之后调用它们。 这些消息在应用运行后显示。 应用本身向客户端发送一条消息。 从配置文件中读取文本消息。
这是项目结构。
pom.xml
这是 Maven pom.xml
文件。 spring-boot-starter-parent
是父 POM,它为使用 Maven 构建的应用提供依赖关系和插件管理。 spring-boot-starter-web
是使用 Spring MVC 构建 Web(包括 RESTful)应用的入门工具。 它使用 Tomcat 作为默认的嵌入式容器。 spring-boot-maven-plugin
将 Spring 应用打包到可执行的 JAR 或 WAR 归档文件中。
application.properties
application.properties
是 Spring Boot 中的主要配置文件。 我们设置了一个 message 属性,该属性将由应用返回给客户端。 我们关闭 Spring 横幅并减少 Spring 框架的日志记录量。
MyController.java
这是MyController
。 它向客户端发送一条消息。
从消息服务生成一条消息,并将其返回给客户端。
doLog()
方法用@PostConstruct
注解修饰。 在初始化MyController
bean 之后调用该方法。 它记录一条简单的参考消息。
IMessageService.java
IMessageService
包含getMessage()
合约方法。
MessageService.java
MessageService
包含getMessage()
方法的实现。
从带有@Value
注解的application.properties
文件中读取返回给客户端的消息,并将其设置为message
字段。
getMessage()
返回消息字符串。
MessageService
还包含用@PostConstruct
装饰的doLog()
方法。 在 bean 初始化之后调用它。
index.html
这是主页。 它包含一个获取消息的链接。
Application.java
Application
是设置 Spring Boot 应用的入口。 @SpringBootApplication
注解启用自动配置和组件扫描。
应用运行后,我们可以在控制台上看到这两个日志消息。
在本教程中,我们展示了如何在 Spring 应用中使用@PostConstruct
注解。