2014-11-05 5 views
1
@Service 
public interface DatabaseConnector { 
    public Model getModel(); 
} 

@Configuration 
@Profile({"!test"}) 
public class DatabaseConnectorT implements DatabaseConnector { 

    private final Model model; 

    @Autowired 
    public DatabaseConnectorT(@Value("${assemblerFile}") String assemblerFile) { 
     model = TDBFactory.assembleModel(assemblerFile); 
    } 
} 

이 bean 클래스를 인스턴스화 할 수없고 기본 생성자를 제공해야한다는 오류가 발생합니다. 왜 그러한 사람이 필요합니까? 필자는 활성 프로파일에 따라로드되어야하는 인터페이스의 두 가지 구현을 가지고 있습니다. 구성은 주석으로 수행되어야합니다.여러 프로필 - 스프링 콩 주입

답변

0

기본 생성자는 매개 변수가없는 생성자입니다.

오류 메시지에 따르면 클래스가 리플렉션을 통해 만들어지고 있다고 가정합니다. 리플렉션을 통해 클래스를 만드는 방법을 제공해야합니다.

생성자의 assemblerFile 값을 리플렉션을 통해 결정할 수 없으므로 제공되지 않는 대신 기본 생성자가 호출됩니다.