在下面的代码片段中使用 set 方法的目的
Purpose of using set method in below code snippet
我正在阅读 Spring 教程,我发现了以下代码片段:
public class EmployeeRestController {
private Logger logger = LoggerFactory.getLogger(EmployeeRestController.class);
@Autowired
private EmployeeService employeeService;
public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
}
}
我的问题是,为什么在没有调用此方法的情况下使用此方法。:
public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
}
谢谢
如果您使用 spring 依赖注入来设置对 class 属性 的依赖,我认为此 setter 方法没有任何意义。这就是 EmployeeRestController
正在发生的事情,通过对员工服务使用 @Autowired
注释 属性 private EmployeeService employeeService;
您也可以通过这种方式使用 setter 级依赖注入
@Autowired
public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
}
在 setter 上使用 @Autowired
而不是私有属性是一个很好的建议做法。
如果你已经使用了@Autowired那么就不需要setmethod所以参考下面的代码:
@Controller
public class EmployeeRestController {
private Logger logger = LoggerFactory.getLogger(EmployeeRestController.class);
@Autowired
private EmployeeService employeeService;
}
@Service
public class EmployeeService{
}
我正在阅读 Spring 教程,我发现了以下代码片段:
public class EmployeeRestController {
private Logger logger = LoggerFactory.getLogger(EmployeeRestController.class);
@Autowired
private EmployeeService employeeService;
public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
}
}
我的问题是,为什么在没有调用此方法的情况下使用此方法。:
public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
}
谢谢
如果您使用 spring 依赖注入来设置对 class 属性 的依赖,我认为此 setter 方法没有任何意义。这就是 EmployeeRestController
正在发生的事情,通过对员工服务使用 @Autowired
注释 属性 private EmployeeService employeeService;
您也可以通过这种方式使用 setter 级依赖注入
@Autowired
public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
}
在 setter 上使用 @Autowired
而不是私有属性是一个很好的建议做法。
如果你已经使用了@Autowired那么就不需要setmethod所以参考下面的代码:
@Controller
public class EmployeeRestController {
private Logger logger = LoggerFactory.getLogger(EmployeeRestController.class);
@Autowired
private EmployeeService employeeService;
}
@Service
public class EmployeeService{
}