Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring:控制器中的这个字段是如何注入的?_Java_Spring - Fatal编程技术网

Java Spring:控制器中的这个字段是如何注入的?

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{ ... } 当我运行程序时,服

我有一个这样的rest控制器:

@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;
    }

    // ...

}