【发布时间】:2013-05-09 12:27:36
【问题描述】:
我有自定义转换器:
@Component
public class RoleConverter implements Converter<String, Role> {
@Autowired private Roles roles;
@Override
public Role convert(String id) {
return roles.findById(Long.parseLong(id));
}
}
但是@Autowired 设置了空值。引起Nullpointerexception.
这是角色类:
@Repository
@Transactional
public class Roles extends Domain<Role>{
public Roles() {
super(Role.class);
}
}
我正在使用 Java 配置。转换器已注册:
@Configuration
@EnableWebMvc
//other annotations...
public class WebappConfig extends WebMvcConfigurerAdapter {
//....
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(new RoleConverter());
super.addFormatters(registry);
}
/....
}
当我在控制器中@Autowired Roles 时,它的工作原理。
为什么@Autowired 在 Converter 中设置为 null?
【问题讨论】:
标签: java spring spring-mvc