首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Spring中通过注解向构造函数注入参数

在Spring中通过注解向构造函数注入参数
EN

Stack Overflow用户
提问于 2015-05-29 22:40:36
回答 1查看 36.4K关注 0票数 16

我使用的是Spring Boot注解配置。我有一个类,它的构造函数接受2个参数(string,另一个类)。

Fruit.java

代码语言:javascript
复制
public class Fruit {
    public Fruit(String FruitType, Apple apple) {
            this.FruitType = FruitType;
            this.apple = apple;
        }
}

Apple.java

代码语言:javascript
复制
public class Apple {

}

我有一个类,它需要通过向构造函数(“iron Fruit",Apple类)注入参数来自动绑定上面的类。

Cook.java

代码语言:javascript
复制
public class Cook {

    @Autowired
    Fruit applefruit;
}

厨师类需要使用参数自动连接Fruit类(“iron Fruit",Apple类)

XML配置如下所示:

代码语言:javascript
复制
<bean id="redapple" class="Apple" />
<bean id="greenapple" class="Apple" />
<bean name="appleCook" class="Cook">
          <constructor-arg index="0" value="iron Fruit"/>
          <constructor-arg index="1" ref="redapple"/>
</bean>
<bean name="appleCook2" class="Cook">
          <constructor-arg index="0" value="iron Fruit"/>
          <constructor-arg index="1" ref="greenapple"/>
</bean>

如何仅使用注释配置来实现它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-29 22:53:36

Apple必须是spring管理的bean:

代码语言:javascript
复制
@Component
public class Apple{

}

水果也是如此:

代码语言:javascript
复制
@Component
public class Fruit {

    @Autowired
    public Fruit(
        @Value("iron Fruit") String FruitType,
        Apple apple
        ) {
            this.FruitType = FruitType;
            this.apple = apple;
        }
}

注意@Autowired@Value注释的用法。

库克也应该有@Component

更新

或者,您可以使用@Configuration@Bean注释:

代码语言:javascript
复制
@Configuration 
public class Config {

    @Bean(name = "redapple")
    public Apple redApple() {
        return new Apple();
    }

    @Bean(name = "greeapple")
    public Apple greenApple() {
        retturn new Apple();
    }

    @Bean(name = "appleCook")
    public Cook appleCook() {
        return new Cook("iron Fruit", redApple());
    }
    ...
}
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30532459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档