当前位置: 首页 > 面试题库 >

Spring和接口

商高谊
2023-03-14
问题内容

我到处都读到有关Spring如何鼓励您在代码中使用接口的信息。我没看到 您的spring
xml配置中没有接口的概念。Spring的哪一部分实际上鼓励您使用接口(而不是文档)?


问题答案:

为类定义接口时,它有助于进行依赖项注入。您的Spring配置文件本身不包含任何有关接口的信息-您只需输入类的名称即可。

但是,如果您要注入另一个提供“等效”功能的类,则使用接口确实会有所帮助。

例如,假设您有一个分析网站内容的类,然后将其注入Spring。如果您要注入的类知道实际的类,那么为了更改它,您必须更改大量代码才能使用其他具体类。但是,如果您创建了一个Analyzer界面,则可以像制作一个模型一样轻松地注入原始内容DefaultAnalyzerDummyAnalyzer甚至可以像完成一个PageByPageAnalyzer或多个其他操作一样轻松地注入原始内容。为了使用其中之一,您只需要更改要在Spring配置文件中注入的类名,而不必遍历代码更改类。

我花了大约一个半月才真正开始看到它的用处。就像大多数事情(以企业语言)最终有用一样,乍一看似乎毫无意义地增加了工作,直到您的项目开始发展,然后您发现通过做更多一点的工作而节省了多少时间。



 类似资料:
  • 问题内容: 我正在尝试将Spring IoC与这样的接口一起使用: Spring可以基于通用类型参数T提供IoC吗?我的意思是这样的: 当然,上面的例子不起作用: 我的问题:是否可以提供对接口或实现类进行最少修改的类似功能?例如,我知道我可以使用@Qualifiers,但我想使事情尽可能简单。 问题答案: 由于擦除,我认为这是不可能的。在进行全自动布线时,我们通常切换到强类型子接口: 进行此切换后

  • 我有一个Spring Boot应用程序的问题。我想在我的Spring Boot应用程序中连接一个MongoDB数据库和一个MySql数据库。我想知道这是不是可能的,在肯定的情况下,我如何能使这种多重连接。我尝试了一个基于Mysql和Post的示例,但没有成功。所以我想知道是否有人有一个简单的例子来知道这个方法。谢谢

  • 如何将redis和Couchbase连接到我的Spring应用程序。我得到这个错误我只需要redis'看'在一个包和其他的只需要与Couchbase连接。 Redis配置 沙发底座配置 当我第一次在终端中启动我的应用程序时,有以下信息: Spring Data Redis - 无法安全地识别存储库候选界面的存储分配

  • 在一个运行在Tomcat 7.0.50下的Spring MVC 4.0.2项目中,我试图使用简单的代理和sockjs stompendpoint来实现Spring Websocket,遵循官方参考。因此,在contextConfigLocation(DistpacherServlet属性)中,我添加了一个值“websocket-config.xml”,它包含: null 在jsp页面中,我将代码

  • 在使用泛型的接口上使用Spring ACL和@preauthorize注释似乎不起作用。 例如;我有一个使用泛型的接口; 我正在使用Spring的最新GA版本(3.2.3)和Spring Security(3.1.4)

  • 是否有某种方法通过JPA持久化链接成员,或者我的方法本身是不正确的(Hateoas链接数据不应该持久化)。 谢谢。