我有一个spring数据测试类(使用TestNG)来测试我的spring数据存储库。测试开始后,我刚刚遇到此警告/信息消息,想知道是否需要解决此问题?
2018-08-06 15:30:07.932警告8028 --- [主要] o.s.aop.framework.CglibAopProxy:无法代理 接口实现方法[public final void org.springframework.test.context.testng.AbstractTestNGSpringContextTests.setApplicationContext(org.springframework.context.ApplicationContext)] 因为它被标记为final:请考虑使用基于接口的JDK 代理代替!
2018-08-06 15:30:07.934信息8028-[[主要] o.s.aop.framework.CglibAopProxy:Final方法[public final 虚空 org.springframework.test.context.testng.AbstractTestNGSpringContextTests.setApplicationContext(org.springframework.context.ApplicationContext)] 无法通过CGLIB代理:不会路由对此方法的调用 到目标实例,并可能导致NPE遭到未初始化 代理实例中的字段。
为了代码完整性,这是我的测试基类:
@DataJpaTest
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
@ContextConfiguration(classes = {RepositoryConfig.class, TestConfig.class})
@TestPropertySource(properties = {"spring.jpa.properties.hibernate.format_sql=true", "spring.jpa.properties.hibernate.show_sql=true"})
public class AbstractRespositoryTest extends AbstractTestNGSpringContextTests {
}
Spring为什么要围绕AbstractTestNGSpringContextTests创建代理? 我如何(或应该)解决此警告?