Java Spring:控制器中的这个字段是如何注入的?
我有一个这样的rest控制器:Java Spring:控制器中的这个字段是如何注入的?,java,spring,Java,Spring,我有一个这样的rest控制器: @Slf4j @RestController @RequestMapping(...) public class MyController { private MyService service; public MyController(MyService service){ this.service = service; } 服务类是一个组件: @Component public class MyService{ ... } 当我运行程序时,服
@Slf4j
@RestController
@RequestMapping(...)
public class MyController {
private MyService service;
public MyController(MyService service){
this.service = service;
}
服务类是一个组件:
@Component
public class MyService{
...
}
当我运行程序时,服务
字段被正确注入。但它是如何注入的(在构造函数上也没有自动连线的注释)
我使用的是SpringBoot 2.0。来自Spring4.3版本。根据文档(),如果bean只有一个构造函数,@Autowired注释可以省略 如果一个bean有一个构造函数,则可以省略@Autowired,如下例所示:
从弹簧4.3释放。根据文档(),如果bean只有一个构造函数,@Autowired注释可以省略 如果一个bean有一个构造函数,则可以省略@Autowired,如下例所示: 请参考这个,它可能会有帮助。
@Service
public class DatabaseAccountService implements AccountService {
private final RiskAssessor riskAssessor;
public DatabaseAccountService(RiskAssessor riskAssessor) {
this.riskAssessor = riskAssessor;
}
// ...
}