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