前言
最近写代码的时候,碰到一个小问题;

可以看到,Spring Boot不推荐使用@Autowired的方式进行属性注入。
我之前一直这样写,从来没觉得这有什么问题,看到这个报错,心里咯噔一下,然后忽然想,@Autowired 与@Resource有什么不同。
然后我发现,我竟然完全不记得了。
因此,写这篇笔记记录一下。
先解释一下,为什么Spring Boot不推荐使用@Autowired的方式进行属性注入。
@Autowired是spring定义的注解,与Spring框架强耦合,换成别的框架,可能不支持。@Resource是JSR-250定义的注解,是Java标准,支持几乎所有java框架。
换言之,@Autowired能用的,@Resource也能用,@Autowired不能用的,@Resource还能用。
不过现在java程序员几乎等同于Spring程序员,说这个,似乎没有必要。
简单举例
LaymanController.java
@Controller
public class LaymanController {
@Autowired
public LaymanService laymanService;
@GetMapping(value = "/sayHello")
public void sayHello() {
laymanService.sayHello();
}
}
LaymanService
public

1592




被折叠的 条评论
为什么被折叠?



