Java中定义接口的意义【spring后再回头看这个】

DAO接口中定义了所有的用户操作,如添加记录、删除记录及查询记录。

DAO实现类实现了DAO接口,并且实现了接口中定义的所有方法。


理论上是先写接口再实现类,但在实现类的过程中又可能回去修改接口

一般在接口中写方法注释,生成javadoc的那种

在实现类中写实现方式相关的注释


写接口的是因为spring的原因,只有接口可以被注入,具体怎么实现方法,spring是不管的

这个正解,我补充一句,其实在集成中实际上是可以跳过接口这一层直接注入类的,不过这要引入另外的JAR包,叫什么我忘了,在spring的标准jar中有,但是这不符合国际惯例,哈哈,也不是个好习惯,建议LZ还是按照标准的流程来

SPring通过它自身的IoC的机制使类的创建不再直接依赖于new来创建,而所有的类都交由Spring管理,而我们只需要使用spring的类实例即bean就行,不需关心它的创建和回收,大大降低类之间的直接依赖关系,这就是所谓解耦合。


为什么spring mvc 在写service的时候,通常会看到先写个service的接口,然后写个实现类,注入进去。
这的好处是什么?
可以不这么写么?
或者是我搞错了?

例如要访问Web服务的数据,开发的时候使用生成模拟数据的类来,线上环境使用访问远程服务的类,使用接口后,注入的时候容易切换实现类,切换后不需要改动任何源码,只需要改动Spring 注入的配置文件。

一个接口可以有好多实现类,一般情况下就你不用接口也没啥,就是怕生产环境,尤其是没有源码的情况下要修改service的行为的时候,没有接口你就抓瞎

在实际的大型系统中大部分的JAVA代码都是由interface(接口类)与impl(实现类组成)因为你也不知道以后要改什么。
比如实体类(value)。服务类(service)dao类(访问数据)这些基本都是由接口和impl组成的
不用的一般只有像是struts中的ACTION(控制层)和一些存放常量的类。


在类的继承中,只能做单重继承,而实现接口时,一次则可以实现多个接口,每个接口间使用逗号“,”分隔。这时就可能出现常量或方法名冲突的情况,解决该问题时,如果常量冲突,则需要明确指定常量的接口,这可以通过“接口名.常量”实现。如果出现方法冲突时,则只要实现一个方法就可以了。


新加评论 评论标题: