Java 从另一个类的静态方法调用spring注入类
嗯,我有一个带有@Component Anotion的类,这个类在数据库中进行一些选择,请参见:Java 从另一个类的静态方法调用spring注入类,java,spring,Java,Spring,嗯,我有一个带有@Component Anotion的类,这个类在数据库中进行一些选择,请参见: @Component(value = "parametroRelatorioHelper") public class ParametroRelatorioHelper { @Autowired private BasicDAO dao; public ParametroRelatorio getParametroByNome(String nome) {
@Component(value = "parametroRelatorioHelper")
public class ParametroRelatorioHelper {
@Autowired
private BasicDAO dao;
public ParametroRelatorio getParametroByNome(String nome) {
List<ParametroRelatorio> parametros = (List<ParametroRelatorio>) dao
.findByNamedQuery(ParametroRelatorio.FIND_BY_NOME,
new NamedParams("nome", nome));
if (parametros.size() > 0)
return parametros.get(0);
else
return null;
}
public List<ParametroRelatorio> getAll() {
return (List<ParametroRelatorio>) dao
.findByNamedQuery(ParametroRelatorio.FIND_ALL);
}
public BasicDAO getDao() {
return dao;
}
public void setDao(BasicDAO dao) {
this.dao = dao;
}
}
听起来您的体系结构不正确,相反,ReportHelper也应该是一个组件,并且应该在其中注入依赖项,否则它会与Spring IOC的思想相冲突,helper方法不应该依赖于服务上的组件…您为什么需要这个帮助器?只要在需要的地方注入ParametroRelatorioHelper bean就行了。所以,想想看,我发现唯一的方法就是在我的类中放入@Component注释。我想建立一个业务代理模式并避免它,但我没有时间这么做。
public class ReportHelper {
public static void call(){
//how can i do it without @Component injection
parametroRelatorioHelper.getAll();
}
}