[SPRING] 기본 생성자가 없습니다. 중첩 예외는 스프링 MVC가있는 java.lang.NoSuchMethodException입니까?
SPRING기본 생성자가 없습니다. 중첩 예외는 스프링 MVC가있는 java.lang.NoSuchMethodException입니까?
나는 봄 MVC 컨트롤러 프로젝트로 일하고있다. 아래는 내 컨트롤러이며 테스트 목적으로 특별히 사용하는 생성자가 선언되어 있습니다.
@Controller
public class TestController {
private static KeeperClient testClient = null;
static {
// some code here
}
/**
* Added specifically for unit testing purpose.
*
* @param testClient
*/
public TestController(KeeperClient testClient) {
TestController.testClient = testClient;
}
// some method here
}
서버를 시작할 때마다 예외가 발생합니다.
No default constructor found; nested exception is java.lang.NoSuchMethodException:
하지만 TestController 생성자를 제거하면 문제없이 잘 작동합니다. 내가 여기서 뭐하는거야?
하지만이 기본 생성자를 추가하면 제대로 작동하기 시작합니다.
public TestController() {
}
해결법
-
==============================
1.자신 만의 생성자를 생성하려면 no-args 또는 기본 생성자를 정의해야합니다.
자신 만의 생성자를 생성하려면 no-args 또는 기본 생성자를 정의해야합니다.
왜 인자 생성자가 디폴트인지 아닐지를 읽을 수있다.
why-default-or-no-argument-constructor-java-class.html
-
==============================
2.Spring은 유일한 생성자가 매개 변수를 필요로하기 때문에 TestController를 인스턴스화 할 수 없다. 인수가없는 생성자를 추가하거나 @Autowired 주석을 생성자에 추가 할 수 있습니다.
Spring은 유일한 생성자가 매개 변수를 필요로하기 때문에 TestController를 인스턴스화 할 수 없다. 인수가없는 생성자를 추가하거나 @Autowired 주석을 생성자에 추가 할 수 있습니다.
@Autowired public TestController(KeeperClient testClient) { TestController.testClient = testClient; }
이 경우, Spring에게 KeeperClient 빈에 대한 응용 프로그램 컨텍스트를 검색하고 TestControllerler를 인스턴스화 할 때이를 주입하도록 명시 적으로 지정합니다.
-
==============================
3.내 경우에는 스프링이 내부 클래스를 정적으로 만드는 것을 잊었 기 때문에 이것을 던졌다.
내 경우에는 스프링이 내부 클래스를 정적으로 만드는 것을 잊었 기 때문에 이것을 던졌다.
당신이 no-arg 생성자를 추가하는 데 도움이되지 않는다는 것을 알게되면 수정자를 확인하십시오.
from https://stackoverflow.com/questions/25272543/no-default-constructor-found-nested-exception-is-java-lang-nosuchmethodexceptio by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] MongoDB-Java 드라이버를 사용하여 배열에서 항목을 제거하십시오. (0) | 2019.01.19 |
---|---|
[SPRING] 주석이있는 클래스의 주석이 달린 메소드 또는 메소드에 대한 Pointcut (0) | 2019.01.19 |
[SPRING] 컨트롤러에 HttpServletRequest 삽입 (0) | 2019.01.19 |
[SPRING] 자바 9 모듈은 A와 B로부터 패키지 X를 읽는다. (0) | 2019.01.19 |
[SPRING] 오리진 서버는 대상 자원에 대한 현재 표현을 찾지 못했거나 공개하려고하지 않습니다. 바람둥이에 배치에 (0) | 2019.01.19 |