Java 5.2中的spring注释工具不再搜索父类了?
我在springframework中发现了5.1.x和5.2.x之间的差异,我试图弄清楚这是我做的还是一种回归 我有一个bean扫描器,它将在不推荐使用的上下文中搜索内容,而Spring5.2.x似乎不再扫描父类中的注释。我要么做错了什么,要么有bug,要么javadocs需要更新Java 5.2中的spring注释工具不再搜索父类了?,java,spring,Java,Spring,我在springframework中发现了5.1.x和5.2.x之间的差异,我试图弄清楚这是我做的还是一种回归 我有一个bean扫描器,它将在不推荐使用的上下文中搜索内容,而Spring5.2.x似乎不再扫描父类中的注释。我要么做错了什么,要么有bug,要么javadocs需要更新 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>Zminimal</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<!-- <version>5.1.10.RELEASE</version> -->
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
4.0.0
com.example
最小
0.0.1-快照
罐子
1.8
1.8
org.springframework
弹簧芯
5.2.0.1发布
朱尼特
朱尼特
4.12
测试
package.com.example;
导入静态org.junit.Assert.assertTrue;
导入org.junit.Test;
导入org.springframework.core.annotation.AnnotationUtils;
公共类注释测试{
@试验
public void已弃用\u DirectlyOnclass(){
assertTrue(“应标记为已弃用”,isClassDeprecated(TestDepricatedClass.class));
}
@试验
public void已弃用\u OnAbstractclass(){
assertTrue(“应标记为已弃用”,isClassDeprecated(TestDepricatedAbstractClass.class));
}
@试验
public void已弃用\u OnSuperclass(){
assertTrue(“应标记为已弃用”,isClassDeprecated(SubClass.class));
}
/*包*/boolean已弃用(类clazz){
返回null!=AnnotationUtils.findAnnotation(clazz,弃用的.class);
}
/**用于测试的类*/
@不赞成
公共静态类TestDebricatedClass{
}
/**用于测试的类*/
@不赞成
公共抽象静态类TestDepricatedAbstractClass{
}
/**用于测试的类*/
公共静态类子类扩展了超类{
}
/**用于测试的类*/
@不赞成
公共静态类超类{
}
}
感谢您的帮助。这似乎是一个回归,目前计划在5.2.2中修复
这似乎是一种回归,目前计划在5.2.2中修复
package com.example;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.springframework.core.annotation.AnnotationUtils;
public class AnnotationTest {
@Test
public void isClassDeprecated_DirectlyOnclass() {
assertTrue("should mark as deprecated", isClassDeprecated(TestDepricatedClass.class));
}
@Test
public void isClassDeprecated_OnAbstractclass() {
assertTrue("should mark as deprecated", isClassDeprecated(TestDepricatedAbstractClass.class));
}
@Test
public void isClassDeprecated_OnSuperclass() {
assertTrue("should mark as deprecated", isClassDeprecated(SubClass.class));
}
/* package */boolean isClassDeprecated(Class<?> clazz) {
return null != AnnotationUtils.findAnnotation(clazz, Deprecated.class);
}
/** Class used for testing. */
@Deprecated
public static class TestDepricatedClass {
}
/** Class used for testing. */
@Deprecated
public abstract static class TestDepricatedAbstractClass {
}
/** Class used for testing. */
public static class SubClass extends SuperClass {
}
/** Class used for testing. */
@Deprecated
public static class SuperClass {
}
}