为什么@Autowired在CSV处理程序春季启动中不起作用

时间:2019-12-27 19:14:42

标签: java spring spring-boot csv

我正在Spring Boot应用程序中编写一个处理程序,以将对象转换为CSV。我不能使用

@Autowired
    MdhTotemConfiguration mdhTotemConfiguration;

我必须将其声明为变量,然后在构造函数中进行分配,如下所示。

public class CsvHttpMessageConverter extends AbstractHttpMessageConverter<CsvResponse> {

    private final MdhTotemConfiguration mdhTotemConfiguration;

    public static final MediaType MEDIA_TYPE = new MediaType("text", "csv", Charset.forName("utf-8"));

    public CsvHttpMessageConverter(MdhTotemConfiguration mdhTotemConfiguration) {
        super(MEDIA_TYPE);
        this.mdhTotemConfiguration = mdhTotemConfiguration;
    }

在我进行内容协商的课程中,我必须这样做:

@EnableWebMvc
@Configuration
@ComponentScan("com.mdh.totem.live")
public class AppConfig implements WebMvcConfigurer {
    @Autowired
    MdhTotemConfiguration mdhTotemConfiguration;

    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.add(new CsvHttpMessageConverter(mdhTotemConfiguration));
    }

0 个答案:

没有答案