java - 如何使用注解在 Spring 中执行基于构造函数的依赖注入(inject)?

标签 java spring dependency-injection spring-annotations constructorargument

好的,那么如果我需要在构造函数中放入一些原始值,我该怎么做呢?

    @Autowired
public CustomBean(String name, @Qualifier("SuperBean") SuperBean superBean) {
    super();
    this.superBean = superBean;
    this.name = name;
}

例如,我在这里定义 superBean 具有限定符“SuperBean”,但我还想知道如何使用注释在这里设置名称值?

我知道可以使用 xml 配置,但我也想知道如何使用注释来做到这一点:

<bean id="CustomXmlBean" class="org.arturas.summerfav.beans.CustomXmlBean">
        <constructor-arg name="name" type="String" value="The Big Custom XML Bean" />
        <constructor-arg>
            <bean id="SuperBean" class="org.arturas.summerfav.beans.SuperBean" />
        </constructor-arg>
    </bean>

我该如何为 String、int 和其他泛型类型输入值?

最佳答案

这是一种方法:

@Component 
public class YourBean { 
    @Autowired
    public YourBean(@Value("${prop1}") String arg1, @Value("${prop2}") String arg2) { 
        // rest of the code
    } 
} 

关于java - 如何使用注解在 Spring 中执行基于构造函数的依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18117570/

相关文章:

java - HttpServletRequest 类型的方法 getPart(String) 未定义

java - 由于编译时异常,无法实例化子类

java - 通过 IncallingHandler 注入(inject)服务

symfony - Hwi oauth bundle 和 Symfony 3.4 无法 Autowiring 服务 : How to use hwi/oauth-bundle in symfony 3. 4 + FOSUserBundle

dependency-injection - 异步工厂的依赖注入(inject)解析

java - 修剪 OpenCSV 中的前导和尾随空格

java - 关于结果集类型 JDBC

java - 虚拟 WebAppLoader 工作正常。但是当包含在 tomcat/lib/中时,同一组 jar 不起作用

库中的 Spring PropertySourcesPlaceholderConfigurer

c# - FluentValidation 验证工厂和 Ninject DI 容器