当前位置: 首页 > 面试题库 >

如何@autowire一些豆到JsonSerializer?

水昊阳
2023-03-14
问题内容

我在Web应用程序中使用了Hibernate的延迟加载。

我想在服务器响应的解析阶段从数据库加载一些对象

@Component
public class DesignSerializer extends JsonSerializer<Design> {
@Autowired
IDesignService designService; <-- is null

}

这是完全可以理解的,因为DesignSerializer每个对象都使用“ new”运算符实例化了。

我确信一旦创建它,​​就有一种方法可以将我的bean注入该序列化程序,我只是不知道如何。

你们可以帮我还是指出正确的方向。


问题答案:

解决办法是
SpringBeanAutowiringSupport
如果你正在使用Spring框架2.5+。

public class DesignSerializer extends JsonSerializer<Design> {

    @Autowired
        IDesignService designService;
    }

    public DesignSerializer(){
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);    
    }

...

}

希望对您有帮助



 类似资料:
  • 我试图模拟一个使用JAXRS的类,这个类是一个spring组件。

  • 我有一堆bean的Spring boot应用程序。他们的数量一天比一天增加。所以我总是需要模拟新的bean,否则测试就会失败。所以,问题很简单:如何强制Spring Boot测试只使用应用程序上下文中的几个特定bean而不是全部?

  • 我有2个服务,EFT和支票,实质上是相似的。 如果将实现标记为@service,则运行良好。

  • 我在EJB模块中有一个@Stateless bean 我在同一个EJB模块中有一个@Named bean Bar#hello是从Web模块中的CDI bean调用的。 由于某些原因,Bar并没有被注入到Foo中——它总是一个空引用。我希望这会奏效。

  • Autowire 包含一对宏,可以让你在两个 Scala 系统之间执行类型安全、无反射的 RPC 远程过程调用。示例代码: // shared interfacetrait Api{  def add(x: Int, y: Int, z: Int): Int }// server-side router and implementation object Server extends autowi

  • 我通过扩展DefaultComponent编写了一个camel组件,还实现了endpoint、consumer和producer的关联类。我的producer正在扩展camel DefaultProducer,我想在这个类中注入一个Springbean,这样每当执行一个路由时 我将能够从文件系统中获取文件并将其存储到数据库中。为了将文件存储到数据库中,我有一个由Spring容器实例化的服务类,但是

  • 这段时间我在学习Spring框架。 现在我正在研究春豆的生命周期,尤其是关于豆子的日化和破坏,阅读本教程: http://www.tutorialspoint.com/spring/spring_bean_life_cycle.htm 我已经实现了前一篇文章中提出的示例,但我对这个论点有疑问。 在这个例子中,我只有两个类:HelloWorld。java和MainApp。JAVA 在地狱世界。jav