2014-11-05 98 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在你的構造函數中不能通過反射來確定,所以默認的構造函數被調用而不是提供。