0
据我所知,CDI使用动态代理进行非依赖的bean注入。如果有实现了一些接口是没有问题的,例如一类:CDI如何为没有接口的类注入代理
@SessionScoped
public class MessageBean implements Message {...}
代理可以基于消息的接口,但什么。如果这个类实现无界面创建:
@SessionScoped
public class MessageBean {...}
注射进入Servlet仍然有效:
@WebServlet("/example")
public class MessageServlet extends HttpServlet {
@Inject
private MessageBean messageBean;
所以问题是如何处理,例如Weld?
它只是扩展类。 – BalusC
根据[docs](https://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Proxy.html),有两条语句:_A代理类扩展java.lang.reflect .Proxy_和_A代理类正好实现了在其creation_指定的接口,因此可以在没有接口的情况下创建代理?根据[this](http://stackoverflow.com/questions/3291637/alternatives-to-java-lang-reflect-proxy-for-creating-proxies-of-abstract-classes)主题,它只能用于CGLIB for例。 – swch
hk2也使用javassist,因为cglib好像现在没有被主动维护 – jwells131313