현재 스프링 프레임 워크를 사용하여 일부 webapp를 작성하고 있습니다. 모든 @RestController API의 경우 Jackson을 사용하여 Json 객체를 생성합니다. 두 물체가 양방향 참조있을 때 순환 종속성 문제가 주석을 사용하지 않고 Jackson과의 순환 종속성 오류를 해결합니다.
@RestController
@RequestMapping("/api")
public class SomeAPI {
@RequestMapping(method = RequestMethod.GET)
public A getA() {
A a = new A();
return a;
}
}
싶지만
@RestController 보인다.
class A {
private B b;
// constructor
...
// setters and getters.
...
}
class B {
private A a;
// constructor
...
// setters and getters.
...
}
내가 주석을 사용하여,이 방법으로 쉽게 해결할 수 : http://java.dzone.com/articles/circular-dependencies-jackson
을하지만 그건 내 말이 아니다 예를 들어, 다음과 같이 두 개의 POJO 클래스가 있습니다.
이제 A 및 B 클래스의 코드를 변경할 수 없으므로 주석을 사용할 수 없습니다. 그러면 주석을 사용하지 않고이 문제를 어떻게 해결할 수 있습니까?
미리 조언 해 주셔서 감사합니다.
컨트롤러 처리기 방법을 보여줄 수 있습니까? 단지'@ ResponseBody'를 사용합니까? –
@ hsotirios-delimanolis 답장을 보내 주셔서 감사합니다. 반환 값으로'@ ResponseBody'를 사용한 것뿐입니다. – Fify
@Fify 당신이 xml 설정을 사용하고 있다면 bean에 default-lazy-init = "true"를 추가하고 작동하는지 확인해보십시오. – Rembo