你需要
@Value注释。
一个常见的用例是使用
"#{systemProperties.myProp}"样式表达式分配默认字段值 。public class SimpleMovieLister { private MovieFinder movieFinder; private String defaultLocale; @Autowired public void configure(MovieFinder movieFinder, @Value("#{ systemProperties['user.region'] }"} String defaultLocale) { this.movieFinder = movieFinder; this.defaultLocale = defaultLocale; } // ...}请参阅: 表达式语言>注释配置
更清楚地说:在你的方案中,你将连接两个类,MybeanService和MyConstructorClass,如下所示:
@Componentpublic class MyBeanService implements BeanService{ @Autowired public MybeanService(MyConstructorClass foo){ // do something with foo }}@Componentpublic class MyConstructorClass{ public MyConstructorClass(@Value("#{some expression here}") String value){ // do something with value }}更新:如果你需要几个MyConstructorClass具有不同值的不同实例,则应使用Qualifier批注



