繁体   English   中英

Spring使用Java-Config(而非XML)使用构造函数争论实例化对象

[英]Spring instantiate object with constructor arguements using java-config (not XML)

如何获得Spring实例化没有无参数构造函数的bean? 我正在使用java-config(不是xml-config)。 它似乎可以使用XML进行工作-但我不应该以某种方式对注解执行相同的操作吗?

直接来自本教程,以下示例与xml-config中的等效:

<bean id="exampleBean" class="examples.ExampleBean">
    <constructor-arg index="0" value="7500000"/>
    <constructor-arg index="1" value="42"/>
</bean>

它还提到了@ConstructorProperties批注的使用,我尝试使用它-但是我无法使其正常工作。 我不断收到BeanInstantiationException。

也可以通过下面的链接http://docs.oracle.com/javase/6/docs/api/java/beans/ConstructorProperties.html

我了解的是,@ ConstructorProperties批注不能用作xml-config的替代品。

您可以像其他SO文章中一样将@Autowired@Qualifier一起使用吗?

您可以使用@Autowired或@Inject

@Configuration
public class MyConfiguration {

    @Bean
    public ExampleBean exampleBean() {
        return new ExampleBean(7500000, 42);
    }
}

要么:

@Configuration
@PropertySource(value = { "my.properties" })
public class MyConfiguration {

    @Value("{prop.value1}")
    private int value1;
    @Value("{prop.value2}")
    private int value2;

    @Bean
    public ExampleBean exampleBean() {
        return new ExampleBean(value1, value2);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM