Java 关于接口的问题

2019-06-04 17:23:52 +08:00
 ukipoi

如果一个类,需要使用两个接口已经实现的方法。
我想在这个类里使用这两个接口的方法应该怎么做?

在 springmvc 里 controller 会把多个 service 注入进来。但是如果是两个普通的接口,实现类没有打类似 @Service 的注解呢?

3140 次点击
所在节点    Java
26 条回复
Caballarii
2019-06-04 17:28:53 +08:00
为什么不打呢,注解也就起了个启动的时候就注入的作用,不注解就 new 呗
Takamine
2019-06-04 17:39:19 +08:00
感觉上问题是在 @Component 了解一下。:doge:
yl666
2019-06-04 17:57:35 +08:00
SpringUtils.getBean(String beanName) 手动注入进来 :)
ukipoi
2019-06-04 18:07:39 +08:00
@Caballarii
主要是我想问的,仅仅对于 java 来说,它的 继承和接口 可以解决上述问题么?
sutra
2019-06-04 18:13:20 +08:00
首先,你能解释一下 @Service annotation 的本质吗?
mikicomo
2019-06-04 18:20:57 +08:00
没明白你想表达啥,你的意思是,认为注入的两个类比较冗余?

你说的继承和接口 解决上述问题是啥意思?解决什么问题,你难道是想让这个类继承那两个接口类实现,然后里面直接调用?
lqw3030
2019-06-04 18:22:58 +08:00
不管怎么样,接口的实现对象都是要 new 出来的,不是由你 new 就由框架来
luckyqiang
2019-06-04 18:25:53 +08:00
xml 配置
palmers
2019-06-04 18:26:58 +08:00
我有点不太明白你问的是什么?
`如果一个类,需要使用两个接口已经实现的方法。
我想在这个类里使用这两个接口的方法应该怎么做?`
A: 这个 super 调用就可以了呀?
`在 springmvc 里 controller 会把多个 service 注入进来。但是如果是两个普通的接口,实现类没有打类似 @Service 的注解呢?`
A: 这个问题我也没搞明白你的意思, 你很疑惑没有注解的实现类是否由 spring 管理? 这个答案是 spring 只能管理在 spring 容器中的 bean 所谓在 spring 容器中意思是 通过注解或明确声明(如 xml)的 bean

然后这两个问题我也不知道你到底想要解决什么问题 希望我上面的回答能帮你理清楚一些 , 如果还有疑惑, 你需要先理清楚你需要问什么 不然大家也帮不上你的忙
misaka19000
2019-06-04 18:28:04 +08:00
如果一个类,需要使用两个接口已经实现的方法。
我想在这个类里使用这两个接口的方法应该怎么做?

谁能解释下这两句话楼主是想表达什么意思,反正我是看不懂
misaka19000
2019-06-04 18:29:34 +08:00
@misaka19000 #10

假设 class A implements interfaceB and interfaceC,你是想在 A 中调用 B 和 C 的方法?那直接调用不就行了吗?
ukipoi
2019-06-04 18:34:51 +08:00
@misaka19000
Mybatis 的问题,一个类继承了 BaseXXX,但是我还想使用 IService 已经实现的方法,应该怎么办?
ukipoi
2019-06-04 18:35:53 +08:00
@misaka19000 但是这样不是需要自己实现了麽
misaka19000
2019-06-04 18:39:40 +08:00
你把代码贴出来吧,不然不是很懂你的意思
CantSee
2019-06-04 18:47:22 +08:00
不加注解也是要创建对象吧,new 一个实现类就行了呗
ukipoi
2019-06-04 18:57:46 +08:00
@misaka19000

public interface XXXXService extends BaseService<XXXX> {

}
-------------------
我还想在在其中使用 com.baomidou.mybatisplus.extension.service.IService<T>
的 save 方法,应该怎么办?
vjnjc
2019-06-04 19:00:11 +08:00
接口的实现叫类,不叫方法。
所以是把实现类注入进来
JsonTu
2019-06-04 19:06:13 +08:00
要么 new,要么注入
misaka19000
2019-06-04 19:31:00 +08:00
很久不用 mybatis 了,IService 这个类可以直接注入吗?注入之后直接调用 IService 所对应的实例的 save 方法不可以吗?
zzl22100048
2019-06-05 00:29:53 +08:00
baseservice extends iservice

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/570830

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX