为什么在处理器中(Controller)添加@InitBinder注解之后,
就无需再配置文件(xml文件)中进行注册了?
它的背后是什么,是什么时候调用的?
@InitBinder的源码:
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface InitBinder {
String[] value() default {};
}
一个例子:
/**
* 自定义属性编辑器
*
*/
public class MyPropertyEditor extends PropertyEditorSupport {
@Override
public void setAsText(String text) throws IllegalArgumentException {..}
@Override
public String getAsText() {..}
}
/**
* 验证属性编辑器的控制器
*/
@Controller
@RequestMapping("/prop")
public class PropController {
@RequestMapping("toUserInfo.do")
public String toUserInfo(UserModel user,Model model){..}
//属性编辑器注册,这样就无需在springmvc.xml文件中注册了
@InitBinder
public void initData(WebDataBinder binder){..}
}
spring中@InitBinder注解:为什么添加此注解之后就无需再配置文件中进行注册了?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 小鸣一哥 2017-11-06 02:58关注
tomcat启动的时候spring会扫描所有指定包下的bean,然后利用反射对不同注解的方法或对象进行处理
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 ads仿真结果在圆图上是怎么读数的
- ¥20 Cotex M3的调试和程序执行方式是什么样的?
- ¥20 java项目连接sqlserver时报ssl相关错误
- ¥15 一道python难题3
- ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
- ¥15 牛顿斯科特系数表表示
- ¥15 arduino 步进电机
- ¥20 程序进入HardFault_Handler
- ¥15 oracle集群安装出bug
- ¥15 关于#python#的问题:自动化测试