Spring相关

Spring中为什么实体类不用注入(参考User,UserService)

要理解为什么不用注入,首先就清楚注入的目的是什么?如果不注入,在程序中要使用某个类对象的方法,则需要去new一个对象。然后我们调用其中的方法,众所周知“程序=算法+数据”。不失一般性,在面向对象开发中,类一般有两种,一种是功能类的,主要是完成一些业务操作。一种是数据类,主要是存储数据,比如POJO。我们数据提交上来后,自己组装PO(当然也有的框架可以帮我们组装好),然后调用功能类的方法去操作这些数据,完成相应功能。如果没有使用注入的方式注入这些功能类对象,则会有空指针的问题。

UserService是个工具类,你需要获取(也就是new)他的对象实例才能调用类内部的方法。
而User只是个POJO,是个存放数据的载体,并不需要获取(也就是new)他的对象实例,而是从外面传进来的。
所以UserService需要new一个,而User并不需。
而Spring的注入机制其实就是代替了new的这个过程(称为解耦),所以UserService需要注入,而User并不需要注入。

spring 管理的类都是单例吧,spring 管理model那不是所有的用户共用一个User对象,登陆的时候存储谁的呢?

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,073评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,142评论 6 342
  • 1.什么是Spring框架? Spring是一个轻量级的java开源框架,为了解决企业级应用开发的复杂性创建的ja...
    gskobe0811阅读 3,511评论 0 3
  • 每个学校的教学楼啊,厕所啊,宿舍啊还有图书馆都发生过诡异的事,总有这样的传说。 今日小酷推荐一本压箱好书《死亡高校...
    酷听听书阅读 3,490评论 0 1
  • 清晨,在公交上读庆山的微博,翻着翻着,突然萌生一种感恩之心。 每天,被生活的内容捆绑着,为谋生上班、下班;为前程消...
    Silvie阅读 2,817评论 0 0

友情链接更多精彩内容