社区
Java EE
帖子详情
用了spring注入了,还用设计接口吗?
wk20062006
2012-03-29 01:05:43
不考虑webservice,话说如果用spring注入,在扩展,解耦都很好用,还用给service,dao。。。层设计接口吗????
...全文
533
32
打赏
收藏
用了spring注入了,还用设计接口吗?
不考虑webservice,话说如果用spring注入,在扩展,解耦都很好用,还用给service,dao。。。层设计接口吗????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
32 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ncist_jianeng
2012-04-02
打赏
举报
回复
[Quote=引用 13 楼 的回复:]
引用 11 楼 的回复:
spring注入,说白了就是用配置文件来管理类的实例化和它们间的关联,这跟我们在项目中使用接口的目的都是殊途同归的:减小代码耦合度。
所以我感觉用了spring了就不用在弄接口了。。。有次做老师的作业,为了图省事。写了个空的接口摆摆样子给老师看。。。然后直接注入,感觉挺好用的。。
[/Quote]
肤浅,没看到内在的东西
小龙在线
2012-04-02
打赏
举报
回复
面向接口编程?Spring的Ioc?
这两个可以有联系,但是不能混在一起。
Spring支持没有接口的bean注入,这只能说明Spring的灵活性。
至于为什么要面向接口编程,代码写多了自然就明白鸟
ssd189
2012-04-02
打赏
举报
回复
什么玩意?
zhangyong200807
2012-04-02
打赏
举报
回复
我建议写好接口,你先注释一下。留在那不用。放到一个包了。
sun_is_me
2012-04-02
打赏
举报
回复
学习了。
个人而言,
我觉得还是2个比较重要吧:
1.接口是一种规范,例如:多人参与项目,之间肯定会有 方法互调。首先把接口定义好了,人家根本不关心你如何去实现,只要得到他想要的结果,这难道不就是Java一直提倡的思想吗。
2.还有一种思想,我觉得随便什么东西,能够放入配置文件去管理的尽量放到配置文件管理, 因为真实项目严谨的话,假如你在java代码里面直接new(注:一个项目修改java代码都是很危险的操作,尤其是经过测试人员数次的测试,还有你修改源代码就必须重新打版本,我不知道你们的项目版本是如何管理的),是不是需要重新编译一次?然后更新至服务器,还是你把它放入配置的文件的话。
ylovep
2012-04-02
打赏
举报
回复
面向接口设计是一种良好编程的习惯 不管要不要spring
backup1997
2012-04-01
打赏
举报
回复
面向接口的编程是为了让代码更加清晰,后期更好维护,虽然现在的 spring 的有 cglib 帮忙不用强制接口存在了,但还是建议使用接口
wing1119
2012-04-01
打赏
举报
回复
貌似Spring依赖注入不就是强调面向接口编程吗?
s478853630
2012-03-31
打赏
举报
回复
如果创建对象用new的话
一个人访问,内存中就会存放被new出一个对象,如果是一万人或者更多人呢,内存中会存放多少对象,这时候你得好好考虑java的垃圾回收机制了。
所以在创建对象时,能不new就不new
dokia123
2012-03-31
打赏
举报
回复
我懂lz的意思..spring的IOC有两种动态代理,cglib和jdk的.这要看你设置的哪一种了。如果你用的是cglib的动态代理,是可以不需要再设计一个接口.如果用的是jdk的,就必须要有接口了。既然这样,肯定都设计一层接口好些啊,说不定以后项目就想改用jdk的动态代理了,那样的话介个项目不就不能正常运行了吗.
wk20062006
2012-03-31
打赏
举报
回复
[Quote=引用 17 楼 的回复:]
楼主还没搞清java多态重要性吧,先研究懂为什么很多地方都喜欢用:"Father a=new Son();"
[/Quote]
多态不就是为了降低代码耦合度吗。。spring ioc容器已经可以帮助解耦了,为什么还要重复使用?
wk20062006
2012-03-31
打赏
举报
回复
[Quote=引用 16 楼 的回复:]
引用 14 楼 的回复:
引用 5 楼 的回复:
你知道spring的IOC是怎么实现的吗?如果你明白就不会问这个问题了。
IOC那是通过动态代理实现的,如果没有了接口,请问spring还如何为你生成代理对象给你使用?如何来实现IOC......
spring采用的CGLIB动态代理是使用动态生成class文件的方式,并不是JDK中的Proxy,一定要有接口
……
[/Quote]
其实我的意思是。。举个例子,action要调用service层,如果service层写了接口以及它的实现类serviceImpl,用不用接口只是在<bean>中的class不同而已,那何不直接省去接口,因为每次写方法都要写两次,很麻烦。。。。
winkey4986
2012-03-31
打赏
举报
回复
楼主还没搞清java多态重要性吧,先研究懂为什么很多地方都喜欢用:"Father a=new Son();"
zj304292653
2012-03-31
打赏
举报
回复
jdk自带的Proxy是使用反射的,对性能有不小的影响,但是只要不是AOP的话,只是注入的时候有点影响,如果要用的AOP的话还是CGLIB吧
javamavin
2012-03-31
打赏
举报
回复
楼主知道面向对象的特征吗?知道为什么用多态吗??
clickgenius
2012-03-31
打赏
举报
回复
接口是一种协议,面向接口编程,你的程序易于理解,而且后期也好维护。
service层最好面向接口编程,你的程序会易读,他人也容易理解你写的是什么。
昨日凡阳
2012-03-30
打赏
举报
回复
[Quote=引用 14 楼 的回复:]
引用 5 楼 的回复:
你知道spring的IOC是怎么实现的吗?如果你明白就不会问这个问题了。
IOC那是通过动态代理实现的,如果没有了接口,请问spring还如何为你生成代理对象给你使用?如何来实现IOC......
spring采用的CGLIB动态代理是使用动态生成class文件的方式,并不是JDK中的Proxy,一定要有接口
[/Quote]
[Quote=引用 15 楼 的回复:]
楼上说的不对吧!应该是在没有接口情况下用cglib有接口使用jdk动态代理。
[/Quote]
lz,你去看看ioc的原理就明白了,为什么要这样了
jijihahalala
2012-03-30
打赏
举报
回复
楼上说的不对吧!应该是在没有接口情况下用cglib有接口使用jdk动态代理。
wk20062006
2012-03-30
打赏
举报
回复
[Quote=引用 11 楼 的回复:]
spring注入,说白了就是用配置文件来管理类的实例化和它们间的关联,这跟我们在项目中使用接口的目的都是殊途同归的:减小代码耦合度。
[/Quote]
所以我感觉用了spring了就不用在弄接口了。。。有次做老师的作业,为了图省事。写了个空的接口摆摆样子给老师看。。。然后直接注入,感觉挺好用的。。
xieshengjun2009
2012-03-30
打赏
举报
回复
[Quote=引用 11 楼 的回复:]
spring注入,说白了就是用配置文件来管理类的实例化和它们间的关联,这跟我们在项目中使用接口的目的都是殊途同归的:减小代码耦合度。
[/Quote]+1
加载更多回复(12)
spring
的详细介绍
Spring
介绍 1.
Spring
2. 使用
spring
的主要目的 3.
Spring
的模块 Ejb容器(以前是) Ioc容器(现在的控制权) 控制反转Ioc(Invertion of control)依赖
注入
(Dependency Injection) ...13.
接口
FactoryBean的使用
spring
hibernate 日志管理插件
数据日志:
设计
中提供数据日志
注入
接口
,管理数据日志
注入
,业务系统可过基于hibernate Listener 拦截数据表操作,
注入
数据日志(此为业务系统实现,
设计
中提供数据日志
注入
接口
),提供 日志管理:通过统一的...
阿里P7面试必备
Spring
整合MyBatis源码分析
【本课程带你深入源码剖析
Spring
整合MyBatis的内部实现】
Spring
Framework的核心是ioc的依赖
注入
、aop的面向切面编程,当然也有其他功能,如对第三方各类框架的集成整合;MyBatis 是一款优秀的持久层SQL映射框架,...
SSM 梳理 面试题整理
13. 什么是
Spring
的依赖
注入
,
注入
方式有哪些? 14.
Spring
支持的几种 bean 的作用域 15. 简单解释一下
spring
的 AOP 16. Mybatis 中#和$的区别? 17. Mybatis 的使用步骤是什么样的? 18. 使用 MyBatis 的 ...
java
接口
注入
对象的意义_为什么
spring
注入
接口
正确而
注入
接口
的实现
话题:为什么
spring
注入
接口
正确而
注入
接口
的实现回答:原因所在:出现如果直接
注入
实现类会出现没有对应ean,因为我们通过实现类来继承的
接口
,然而,必须使用jdk提供的动态理放法,而不使用
接口
直接对实现类进行...
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章