spring 的 data 层实体类是不需要注入的。
而service是需要注入,因为,service是一个工具类,他需要完成增删改查操作,而data 层的则相当于是参数,就是这个service对某个data进行增删改查操作,而Service 实际上应该是一个接口,这就是面向接口编程,别人不知道你这个service这个到底是那个类的实例,完全通过SPring的配置注入,更安全,耦合性低。
如果不注入,在程序中要使用某个类对象的方法,则需要去new一个对象。然后我们调用其中的方法,众所周知“程序=算法+数据”。不失一般性,在面向对象开发中,类一般有两种,一种是功能类的,主要是完成一些业务操作。一种是数据类,主要是存储数据,比如POJO。我们数据提交上来后,自己组装PO(当然也有的框架可以帮我们组装好),然后调用功能类的方法去操作这些数据,完成相应功能。如果没有使用注入的方式注入这些功能类对象,则会有空指针的问题。