@Inject 一个会话bean中的接口
@Inject an interface in a session bean
我有一个无状态会话 bean,它确实从库中注入了一个接口。
@Stateless
public class MyService {
@Inject
IMyLib iMyLib;
}
public interface IMyLib {
...
}
public class MyLib implements IMyLib {
...
}
这接缝工作!但为什么?容器怎么知道要注入什么?
这是允许的好做法吗?
这是一个很好的做法:使用接口可以将您的代码与实现分离。它还允许可以用限定符注释的多个实现,因此代码的不同用途可以使用不同的实现。它还允许装饰器添加额外的功能。
我有一个无状态会话 bean,它确实从库中注入了一个接口。
@Stateless
public class MyService {
@Inject
IMyLib iMyLib;
}
public interface IMyLib {
...
}
public class MyLib implements IMyLib {
...
}
这接缝工作!但为什么?容器怎么知道要注入什么?
这是允许的好做法吗?
这是一个很好的做法:使用接口可以将您的代码与实现分离。它还允许可以用限定符注释的多个实现,因此代码的不同用途可以使用不同的实现。它还允许装饰器添加额外的功能。