- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用自定义 Converter
创建一个 Spring ConversionService
,但是 ConversionServiceFactoryBean#getObject
的返回值为 null
。参见示例:
@Bean
@Autowired
public ConversionService conversionService(Set<Converter<?, ?>> converters) {
final ConversionServiceFactoryBean factory = new ConversionServiceFactoryBean();
factory.setConverters(converters);
return checkNotNull(
factory.getObject(),
"conversionService must not be null.");
}
checkNotNull
抛出一个 NullPointerException
。 converters
按预期注入(inject)。为什么工厂返回 null
?我该如何解决?
最佳答案
感谢 comment的 Sotirios Delimanolis我得出以下解决方案:
@Bean
public ConversionServiceFactoryBean conversionService(Set<Converter<?, ?>> converters) {
final ConversionServiceFactoryBean factory = new ConversionServiceFactoryBean();
factory.setConverters(converters);
return factory;
}
这本质上是以下配置的简写:
@Bean
public ConversionService conversionService(Set<Converter<?, ?>> converters) {
final ConversionServiceFactoryBean factory = new ConversionServiceFactoryBean();
factory.setConverters(converters);
factory.afterPropertiesSet(); // necessary
return factory.getObject();
}
在调用 afterPropertiesSet
( explanation ) 之前,工厂保持未完成状态。但是,如果返回的是 ConversionServiceFactoryBean
本身而不是 ConversionService
,则不需要调用它。由于工厂是一个 InitializingBean
和一个 FactoryBean
Spring 将在内部调用 afterPropertiesSet
和 getObject
,如果一个 ConversionService 实例是需要。
关于java - 为什么 Spring 的 FactoryBean getObject 返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46364012/
小问题:如果我有实现 FactoryBean 接口(interface)的类,我如何从 FactoryBean 对象本身而不是 FactoryBean.getObject() 中获取? 长问题:我必须
我没有看到 FactoryBean 用于创建 bean 的实用程序...为什么不能在 Configuration 类中创建相应的 bean? FactoryBean 有什么需要? 我知道我在这里遗漏了
是否可以向 FactoryBean 添加一个非空默认构造函数,其中参数由 @Value 注入(inject)? @Service public class DateTimeFormatterFacto
我有一个应用程序,我希望能够根据属性文件中的值切换 DAO 实现。 Spring FactoryBean 接口(interface)看起来工作得很好,因为我可以通过 FactoryBean 提供 DA
我正在尝试编写一个 Spring FactoryBean 来生成 Request 对象的列表。请求的数量和进入其中的值可以在运行时配置,因此我想使用这些属性。 每个请求都包含一对 ID 值,因此我需要
我想一起使用 FactoryBeans 和范围。具体来说,我希望将 FactoryBean 创建和返回的对象放入指定的(可能是自定义的)范围内。问题在于执行以下操作: 导致 FactoryBean
我在 Spring Boot 应用程序中的项目类: package com.example.demo; public class FirstModel { public String getS
我正在通过 XML 配置和实例工厂方法实例化一些 bean: 我通过 BeanFactory.getBean("bean", arguments...) 以编程方式实例化我的原型(prototyp
假设我有以下 Spring 配置(Spring 版本为 3.0.3): 我有 FactoryBean 实现的实例和其他一些实例。我需要 Spring 注入
我刚刚开始使用 Spring 3 MVC,目前使用的是 3.2.4.RELEASE。我已经使用 spring 工具套件创建了基本项目,并添加了 Hibernate 和 mysql 的配置。这是我添加到
我正在尝试在 spring 版本 4.3.6 中解析 FactoryBean 中的泛型类型。我使用用于创建任意数量的 CarClient 实例的 FactoryBean 创建 bean。 public
我有一组 FactoryBean 的实例其类型为MyFactoryBean 。构造函数采用 Class并使用它来确定从 getObject() 返回什么: public class MyFactory
是否有可能创建一个 POJO bean 将/可以被 Spring 视为 FactoryBean。所以我想创建一个 FactoryBean 类(有 getObject、getType、isSinglet
我正在尝试使用 org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean 在 Spring 4 中创建一个 FreeMa
我使用假客户端微服务并收到以下错误 - $ mvn spring-boot:run [INFO] Scanning for projects... [INFO] [INFO] ------------
Spring 提供了 FactoryBean 接口(interface)以允许对 bean 进行非平凡的初始化。该框架提供了许多工厂 bean 的实现,并且——当使用 Spring 的 XML 配置时
FactoryBean可用于以编程方式创建可能需要复杂实例化逻辑的对象。 但是,FactoryBean创建的bean似乎没有成为spring管理的。这种解释正确吗?如果是这样,有什么好的解决方法吗?包
我知道在使用 XML ( Spring ) 定义 bean 时可以获得对 factorybean 实例的引用。例如。: 但这也可以通过注释来做到这一点吗? (也许使用@Autowired 和@Qua
我想用自定义 Converter 创建一个 Spring ConversionService,但是 ConversionServiceFactoryBean#getObject 的返回值为 null。
我有两个接口(interface) IFoo 的实现: Foo1和 Foo2 . 我需要上下文才能为任何需要 IFoo 的类注入(inject)正确的上下文该类不知道它将获得什么实现(因此不使用 @Q
我是一名优秀的程序员,十分优秀!