我不能在Java 11中使用@PostConstruct和@PostDestroy

问题描述 投票:2回答:2

我在项目中使用@PostConstruct@PostDestroy注释时遇到问题。我不能使用这些注释,尽管我导入了Java的注释,但看起来这些注释并不存在。我正在使用Java 11,这是我的build.gradle文件的内容:

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile group: 'org.springframework', name: 'spring-webmvc', version: '5.1.0.RELEASE'
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.7'
    compile group: 'javax.annotation', name: 'javax.annotation-api', version: '1.3.2'
    provided group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1' 
}
java spring-mvc annotations
2个回答
2
投票

请注意,@PostConstruct@PreDestroy注释都是Java EE的一部分。由于Java EE在Java 9中已被弃用并在Java 11中被删除,因此我们必须添加一个额外的依赖项来使用这些注释:

<dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>javax.annotation-api</artifactId>
    <version>1.3.2</version>
</dependency>

在这里找到:https://www.baeldung.com/spring-postconstruct-predestroy


1
投票

你只有spring-webmvc,你需要春天的其余部分才能使用他们的注释。可能是弹簧和弹簧注释。

热门问题
推荐问题
最新问题