weixin_42512490 2019-10-09 17:21 采纳率: 75%
浏览 210
已采纳

关于spring bean注入的一个问题

今天看了大佬的代码,看到他们在注入RestTemplate是这样写的:

    //大佬的对象注入方式
    private final RestTemplate restTemplate;

    @Autowired
    public TestController(RestTemplate restTemplate) {
        this.restTemplate = restTemplate;
    }

-----------------------------------------------------

    //平时我的注入方式
    @Autowired
    private  RestTemplate restTemplate;

想问问这两种写法有什么区别?

  • 写回答

2条回答

  • 太阳伞下的阿呆 2019-10-10 15:44
    关注

    大佬的写法的优点
    1. 避免循环依赖。如果构造器中存在循环依赖,spring启动时就会抛出异常。而不是等到业务流程走到发现空指针时才发现
    2. 不需要空指针检查,如果注入时为空则会直接抛出异常
    3. 提升代码的复用性,如果不是spring容器,使用该bean不需要检查入参的空指针问题。而且如果不是spring容器服务,使用该bean只能通过反射的方式注入属性

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形