Rad*_*dhi 6 java constructor arguments autowired spring-boot
我有一个具有 Autowired Constructor 的类。
现在当我在我的班级中自动装配这个类对象时。我如何为构造函数传递参数?
示例代码: 具有自动装配构造函数的类:
@Component
public class Transformer {
private String dataSource;
@Autowired
public Transformer(String dataSource)
{
this.dataSource = dataSource;
}
}
Run Code Online (Sandbox Code Playgroud)
对具有带参数的构造函数的组件使用自动装配的类:
@Component
public class TransformerUser {
private String dataSource;
@Autowired
public TransformerUser(String dataSource)
{
this.dataSource = dataSource;
}
@Autowired
Transformer transformer;
}
Run Code Online (Sandbox Code Playgroud)
此代码失败并显示消息
“通过构造函数参数 0 表示不满足的依赖关系”
在创建类型为 Transformer 的 bean 时。
我如何在 Autorwiring 时将参数传递给 Transformer?
小智 7
package com.example.demo;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class Transformer {
private String datasource;
@Autowired
public Transformer(String datasource) {
this.datasource=datasource;
log.info(datasource);
}
}
Run Code Online (Sandbox Code Playgroud)
然后创建一个配置文件
package com.example.demo;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class BeanConfig {
@Bean
public Transformer getTransformerBean() {
return new Transformer("hello spring");
}
@Bean
public String getStringBean() {
return new String();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9459 次 |
| 最近记录: |