【问题标题】:Multiple profiles - spring bean injection多配置文件-spring bean注入
【发布时间】:2014-11-05 19:28:38
【问题描述】:
@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 类不能被实例化并且应该给出一个默认的构造函数。为什么需要这样一个?我有两个不同的接口实现,应该根据活动配置文件加载。配置应该用注解来完成。

【问题讨论】:

    标签: java spring profiles


    【解决方案1】:

    默认构造函数是没有参数的构造函数。

    根据错误消息,我认为该类是通过反射创建的。 所以你必须提供一种通过反射创建类的方法。

    我假设您的构造函数中 assemblerFile 的值无法通过反射确定,因此调用了默认构造函数,但未提供该构造函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      • 2013-07-10
      • 1970-01-01
      相关资源
      最近更新 更多