나는 이상한 행동을하고, 내가 Class2의 너무 인터페이스를 구현하는 것을 필요로하는 문제가@Autowire 이상한 문제
@Controller
public class Class1 {
@Autowired
private Class2 object2;
...
}
@Service
@Transactional
public class Class2{
...
}
작동 나는 org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type for Class2
얻을이 코드
@Controller
public class Class1 {
@Autowired
private Class2 object2;
...
}
@Service
@Transactional
public class Class2 implements IServiceReference<Class3, Long>{
...
}
public interface IServiceReference<T, PK extends Serializable> {
public T reference(PK id);
}
: 난 단지 지금 좋아하는 것 때문에 Class2의 변경했습니다. @Transitional
주석 또는 i mplements IServiceReference<Class3, Long>
을 제거하면 문제가 사라지고 bean이 주입되기 때문에 @Transitional
주석이 인터페이스와 호환되지 않는 것으로 보입니다 (비록이 클래스에서 둘 다 가질 필요가 있지만). 주석 대신에 @Transitional
이라는 주석을 클래스에 넣으면 발생합니다.
이것이 도움이 될 경우 Spring 3.0.2를 사용합니다.
트랜잭션 방식의 인터페이스와 호환되지 않습니까? 스프링 버그일까요?
기본적으로 내가 말한 것과 똑같은 것입니다. –