inject 问题

 @JFinal  Inject 可以支持通过别名注入么,  注入同一个类  但是是不同的实例 

如实现下面效果

建立关系时
Service service1 = new Service(1);
Service service2 = new Service(2);
Aop.add("c1",service1)
Aop.add("c2",service2)


使用时
@Inject(name="c1")
Service service1;
@Inject(name="c2")
Service service2;

同一个Service类, 两个不同的实例

评论区

macaque

2022-08-24 16:53

JFinal

2022-08-24 21:32

目前不支持,现在集群普遍使用,业务层不建议持有状态,状态存放在数据库或者 redis 这类集中式缓存之中

如果你是希望同一个接口注入不同的实现类,建议直接使用实现类,例如:
@Inject
Service service1;

@Inject(OtherServiceImpl.class)
Service service2;

上述第二个 @Inject 指定了被注的实现类

JFinal

2022-08-24 21:33

还有一种用法是声明类型为具体的实现类:
@Inject
Service service1;

@Inject
OtherServiceImpl service2;

热门反馈

扫码入社