Spring官網 Convert
示例代碼
@PropertySource("classpath:application.properties")
public class AppConfig {
@Bean
public ConversionService conversionService() {
DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();
conversionService.addConverter(new MyCustomConverter());
return conversionService;
}
}
public class MyCustomConverter implements Converter<String, List> {
@Override
public List convert(String s) {
System.out.println(s);
return Arrays.asList(s);
}
}
public class MovieRecommender {
private final List grade;
private final String name;
public MovieRecommender(@Value("${catalog.grade}") List grade, @Value("${catalog.name}") String name) {
this.grade = grade;
this.name = name;
}
public String getName() {
return name;
}
public List getGrade() {
return grade;
}
}
public class SpringMain {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("config.xml");
MovieRecommender bean = context.getBean(MovieRecommender.class);
System.out.println(bean);
System.out.println(bean.getGrade());
System.out.println(bean.getName());
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
<bean class="org.example.mavenjavademo.spring.MovieRecommender" id="movieRecommender"/>
<bean class="org.example.mavenjavademo.spring.AppConfig" id="appConfig"/>
</beans>
catalog.grade=ab,cd,ef
catalog.name=Movie
- 運行結果