1. 首页 > 科技

spring boot问题,请求路径是接口类,为什么是接口类?如下所示,一般不是类吗?

spring boot问题,请求路径是接口类,为什么是接口类?如下所示,一般不是类吗?

Spring注解为什么有的时候是类有的时候是接口

spring是面对接口的编程,依赖注入自动装配的,

spring 注入的是类还是接口

我举个小例子哈,User是个普通的实体类,没有接口,把他注入,也是可以的啊。。。。

public class SpringTest {

private User user;

public User getUser() {

return user;

}

public void setUser(User user) {

this.user = user;

}

public static void main(String[] args) {

ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");

SpringTest st=(SpringTest)context.getBean("st");

st.getUser();

}

}

spring注入,说白了就是用配置文件来管理类的实例化和它们间的关联,这跟我们在项目中使用接口的目的都是殊途同归的:减小代码耦合度。

还是2个比较重要吧:

1.接口是一种规范,例如:多人参与项目,之间肯定会有 方法互调。首先把接口定义好了,人家根本不关心你如何去实现,只要得到他想要的结果,这难道不就是Java一直提倡的思想吗。

2.还有一种思想,我觉得随便什么东西,能够放入配置文件去管理的尽量放到配置文件管理, 因为真实项目严谨的话,假如你在java代码里面直接new(注:一个项目修改java代码都是很危险的操作,尤其是经过测试人员数次的测试,还有你修改源代码就必须重新打版本,我不知道你们的项目版本是如何管理的),是不是需要重新编译一次?然后更新至服务器,还是你把它放入配置的文件的话。

spring 为什么要先写接口,再写实现类?

首先你要理解OOP的思想,是面向接口编程.

什么叫面向接口编程呢?

假如你买了一个多媒体设备,它给了你一个遥控,你想要知道的只是按什么按钮,它会播放什么

而遥控里面是怎样运行,还有屏幕里面怎么工作,你想知道吗?

你完全不会去想了解.

那如果多媒体设备需要更新,比如优化内部运行效率,

但是优化完了,遥控的按钮不变,设备的所有操作方式都不变,按这个按钮还是显示相同的东西

那内部怎么变化你完全不需要在意.

这就是面向接口编程.

无论类的内部怎么实现,它对外的接口不变,那它的使用方式就不会变

假设Main类要使用D类的一个draw的方法,

方法名叫 draw():void

不管draw里面是怎样的,Main类里就是这样用,

那么你就从这个接口出发,里面怎么实现是D类的事了,Main类只关心怎么用而已.

其他类要使用它,还是相同

这就大大减少了维护的成本.

因为如果D类出问题,Main类是完全不用改变的.

从上观察,公开的接口越多,维护成本就越大.

维护就越麻烦.所以我们先写接口,定死了公开的接口,

那维护就很方便,出错也只是一个类的事,而不用同时修改多个协同类

求高手来解答Spring中接口的实现类怎么来区分?

首先把这两个A类和B类 都注入成 spring的bean 然后 在内部再根据条件 然后通过SpringContext getbean 给接口变量赋值 这样在程序中你就可以自由切换了