无法代理接口实现方法[public final void AbstractTestNGSpringContextTests.setApplicationContext()]

时间:2018-08-06 13:45:05

标签: spring testng cglib

我有一个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创建代理? 我如何(或应该)解决此警告?

0 个答案:

没有答案