【发布时间】:2018-01-02 02:56:20
【问题描述】:
错误:java.lang.IllegalArgumentException: No visible constructors in class org.springframework.hateoas.config.HypermediaSupportBeanDefinitionRegistrar$DefaultObjectMapperCustomizer
我主要使用link中给出的示例,下面的代码可以在github repository找到
注释:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface NeedTestClass {
}
方面:
@After("@args(NeedTestClass)")
public void afterReturningAtArgs() {
log.info("aspect: after @args {}");
}
服务:
@Slf4j
@Component
public class BusinessService {
public void logicWithAnnotatedArgs1(Child c) {
log.info("service");
}
}
Pojo(顶级,不是子类):
@NoArgsConstructor // tried with or without
@NeedTestClass
public class Child {}
测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@WebAppConfiguration
@SpringBootTest
public class AopTest {
@Autowired
private BusinessService myBusinessService;
@Test
public void testAtArgsPCD() {
myBusinessService.logicWithAnnotatedArgs1(new Child());
}
我试图检查 aop 和带注释的类继承,但第一步似乎不行。我试过 @annotation() 和 this() PCD 都可以。
编辑: 到目前为止,我想知道这个错误可能与 bean 加载顺序有关。
【问题讨论】:
标签: spring-aop