복붙노트

[SPRING] 봄, 추상 클래스 및 특수 효과

SPRING

봄, 추상 클래스 및 특수 효과

꽤 간단한 추상 클래스가 있습니다.

public abstract class AbstractServiceActions {

    @Autowired
    protected DatabaseModel dbModel;

    protected User user;
    protected boolean complete;
    protected String serviceResult;

    public AbstractServiceActions(User user) {
        this.user = user;
        this.serviceResult = "";
    }

    public abstract String doAction();
    }

이제 당신은 볼 수 있습니다, 나는 DatabaseModel을 autowire하려고합니다. 그러나 확장 클래스에서 dbModel에 대해서만 null을 수신합니다.

@Component
public class CreateDatabaseAction extends AbstractServiceActions {
....
}

질문 : 나는 여기서 불가능한 것을 시도하고 있는가?

해결법

  1. ==============================

    1.설치가 잘된 것 같습니다. 그 이유는 아마도 다른 곳에있을 것이다. 어쩌면 당신이 새로운 CreateDatabaseAction ()을 사용하여 클래스를 인스턴스화하는 것일 수도 있습니다.

    설치가 잘된 것 같습니다. 그 이유는 아마도 다른 곳에있을 것이다. 어쩌면 당신이 새로운 CreateDatabaseAction ()을 사용하여 클래스를 인스턴스화하는 것일 수도 있습니다.

  2. ==============================

    2.javax.inject에서 @Inject가 아닌 @Autowired를 사용하십시오.

    javax.inject에서 @Inject가 아닌 @Autowired를 사용하십시오.

    추상 클래스의 의존성 주입은 봄의 @Autowired에서만 작동합니다.

    참고로 Spring 4.0을 사용하고 있습니다. Java 6

  3. from https://stackoverflow.com/questions/2921899/spring-abstract-class-and-annotations by cc-by-sa and MIT license