采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
一直以来写mvc代码都是理所当然通过注入,刚才突然想到一个问题,如果service层不交给spring管理而是把他的方法全写为static,在controller也不注入service而是直接调service的static方法,这样做哪里会存在问题吗?在百度上搜了一下,看的不是很明白,希望老师解答一下谢谢
兵长大人好,就是说不希望让Spring托管Service层的类会有什么害处对不?如果同学调用的全部是static的方法的话,那么只能算是util,工具类里面的方法一般都是静态的。Service层如果设置成静态的,后续更换Service层的时候,就会有问题,需要修改Controller里面的代码。所以为了使得层与层之间的解耦,所以才会面向接口编程,而面向接口编程势必需要支持动态调整底层服务。。
更换service层指的是controller不调静态的serviceA,改调静态的serviceB吗?这样确实需要改controller的方法,但是如果改变业务直接在serviceA上进行呢?
那就没必要了,但是如果serviceA上面要使用dao服务去存数据库,那么就要有dao成员变量,dao成员变量需要Autowired注入,那么也要求service是bean,也就是需要托管到Spring容器才可以。。
谢谢老师,除了业务角度呢?性能等角度看有什么区别吗?
登录后可查看更多问答,登录/注册
招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航
1.8k 27
2.7k 22
1.2k 15
1.4k 14
1.3k 14