如果一个类,需要使用两个接口已经实现的方法。
我想在这个类里使用这两个接口的方法应该怎么做?
在 springmvc 里 controller 会把多个 service 注入进来。但是如果是两个普通的接口,实现类没有打类似 @Service 的注解呢?
我其实是那Service举个例子,可以比较明确的表名我的问题。
就是仅仅基于Java,继承和接口的设计,可以解决我上述说的情况吗?
1
Caballarii 2019-06-04 17:28:53 +08:00
为什么不打呢,注解也就起了个启动的时候就注入的作用,不注解就 new 呗
|
3
yl666 2019-06-04 17:57:35 +08:00
SpringUtils.getBean(String beanName) 手动注入进来 :)
|
4
ukipoi OP @Caballarii
主要是我想问的,仅仅对于 java 来说,它的 继承和接口 可以解决上述问题么? |
6
mikicomo 2019-06-04 18:20:57 +08:00
没明白你想表达啥,你的意思是,认为注入的两个类比较冗余?
你说的继承和接口 解决上述问题是啥意思?解决什么问题,你难道是想让这个类继承那两个接口类实现,然后里面直接调用? |
7
lqw3030 2019-06-04 18:22:58 +08:00
不管怎么样,接口的实现对象都是要 new 出来的,不是由你 new 就由框架来
|
8
luckyqiang 2019-06-04 18:25:53 +08:00 via iPhone
xml 配置
|
9
palmers 2019-06-04 18:26:58 +08:00
我有点不太明白你问的是什么?
`如果一个类,需要使用两个接口已经实现的方法。 我想在这个类里使用这两个接口的方法应该怎么做?` A: 这个 super 调用就可以了呀? `在 springmvc 里 controller 会把多个 service 注入进来。但是如果是两个普通的接口,实现类没有打类似 @Service 的注解呢?` A: 这个问题我也没搞明白你的意思, 你很疑惑没有注解的实现类是否由 spring 管理? 这个答案是 spring 只能管理在 spring 容器中的 bean 所谓在 spring 容器中意思是 通过注解或明确声明(如 xml)的 bean 然后这两个问题我也不知道你到底想要解决什么问题 希望我上面的回答能帮你理清楚一些 , 如果还有疑惑, 你需要先理清楚你需要问什么 不然大家也帮不上你的忙 |
10
misaka19000 2019-06-04 18:28:04 +08:00
如果一个类,需要使用两个接口已经实现的方法。
我想在这个类里使用这两个接口的方法应该怎么做? 谁能解释下这两句话楼主是想表达什么意思,反正我是看不懂 |
11
misaka19000 2019-06-04 18:29:34 +08:00
|
12
ukipoi OP @misaka19000
Mybatis 的问题,一个类继承了 BaseXXX,但是我还想使用 IService 已经实现的方法,应该怎么办? |
13
ukipoi OP @misaka19000 但是这样不是需要自己实现了麽
|
14
misaka19000 2019-06-04 18:39:40 +08:00
你把代码贴出来吧,不然不是很懂你的意思
|
15
CantSee 2019-06-04 18:47:22 +08:00
不加注解也是要创建对象吧,new 一个实现类就行了呗
|
16
ukipoi OP @misaka19000
public interface XXXXService extends BaseService<XXXX> { } ------------------- 我还想在在其中使用 com.baomidou.mybatisplus.extension.service.IService<T> 的 save 方法,应该怎么办? |
17
vjnjc 2019-06-04 19:00:11 +08:00 via Android
接口的实现叫类,不叫方法。
所以是把实现类注入进来 |
18
JsonTu 2019-06-04 19:06:13 +08:00 via iPhone
要么 new,要么注入
|
19
misaka19000 2019-06-04 19:31:00 +08:00
很久不用 mybatis 了,IService 这个类可以直接注入吗?注入之后直接调用 IService 所对应的实例的 save 方法不可以吗?
|
20
zzl22100048 2019-06-05 00:29:53 +08:00
baseservice extends iservice
|
21
luckylo 2019-06-05 07:54:38 +08:00 via Android
@misaka19000 我看了你们的回复,我也还没看懂
|
22
luckylo 2019-06-05 07:56:56 +08:00 via Android
@ukipoi 你说的这个问题,你可以去看 github mybatis plus 上的一个 issuse,我之前有看到一个大佬发了
|
23
Aruforce 2019-06-05 09:48:30 +08:00
直接注入 XXXXService 这个接口的实现类的实例就可以啊
这个就不算问题...能不能调用...手动试一下不就行了....还需要问? |
25
youngfish 2019-06-05 16:00:45 +08:00
|
26
MotherShip 2019-06-24 13:09:11 +08:00
@ukipoi
呃 我猜是这样的,楼主写了 Service,然后项目规定继承 BaseService,同时又想用 MBP 的 IService 你可以让你自己的 Service 实现类去实现 IService,也可以试试 MBP 给的 ServiceImpl |