Spring Ioc Beans 管理
Spring Ioc Beans management
我有一个关于 spring IoC 管理的问题。我在以下位置创建了 Bean:
@SpringBootApplication
public class Application {
public static void main(String[] args) {....}
@Bean
public XmlMapper xmlMapper() {
return new XmlMapper();
}
}
这些 bean 按预期工作正常。但是 Default ObjectMapper 被覆盖并且
@RestController 尝试解析请求并期望有效负载为 XML.
谁能解释为什么会这样?
XmlMapper
是 ObjectMapper
的子 class 所以如果你声明一个这种类型的 bean,Spring 将使用那个并在需要的地方注入它。
如果您还想在其他地方使用基本 ObjectMapper
。您可以声明另一个 bean ObjectMapper。您可能必须将其指定为主。
@SpringBootApplication
public class Application {
public static void main(String[] args) {....}
@Bean
public XmlMapper xmlMapper() {
return new XmlMapper();
}
@Bean
@Primary //Not sure if needed
public ObjectMapper objectMapper() {
return new ObjectMapper();
}
}
我有一个关于 spring IoC 管理的问题。我在以下位置创建了 Bean:
@SpringBootApplication
public class Application {
public static void main(String[] args) {....}
@Bean
public XmlMapper xmlMapper() {
return new XmlMapper();
}
}
这些 bean 按预期工作正常。但是 Default ObjectMapper 被覆盖并且
@RestController 尝试解析请求并期望有效负载为 XML.
谁能解释为什么会这样?
XmlMapper
是 ObjectMapper
的子 class 所以如果你声明一个这种类型的 bean,Spring 将使用那个并在需要的地方注入它。
如果您还想在其他地方使用基本 ObjectMapper
。您可以声明另一个 bean ObjectMapper。您可能必须将其指定为主。
@SpringBootApplication
public class Application {
public static void main(String[] args) {....}
@Bean
public XmlMapper xmlMapper() {
return new XmlMapper();
}
@Bean
@Primary //Not sure if needed
public ObjectMapper objectMapper() {
return new ObjectMapper();
}
}