Java 如何使用依赖项注入从反射创建对象?
我有一组支持javax.inject的类。但现在我需要使用反射调用这些类Java 如何使用依赖项注入从反射创建对象?,java,reflection,dependency-injection,inject,Java,Reflection,Dependency Injection,Inject,我有一组支持javax.inject的类。但现在我需要使用反射调用这些类 o = clazz.newInstance(); ... method.invoke(o, parm1, param2 ); 但我不想调用newInstance,而是想知道是否有可能将其作为注入对象获取?我该怎么做呢?这不是一个在任何地方都适用的完整答案。但是,如果您有一个JNDI上下文,您可以使用以下内容来获取注入的对象。但是这里您需要知道jndi名称:例如:java:module/PasswordDataReposi
o = clazz.newInstance();
...
method.invoke(o, parm1, param2 );
但我不想调用newInstance,而是想知道是否有可能将其作为注入对象获取?我该怎么做呢?这不是一个在任何地方都适用的完整答案。但是,如果您有一个JNDI上下文,您可以使用以下内容来获取注入的对象。但是这里您需要知道jndi名称:例如:java:module/PasswordDataRepository
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public static <T> T getValue(String jndiName, Class<T> type)
{
try {
Context ctx = new InitialContext();
return (T)ctx.lookup(jndiName);
} catch (NamingException e) {
e.printStackTrace();
return null;
}
}