java spring 注解使用笔记及其用例

1. @PostConstruct

//项目运行起来时不管定时任务中cron表达式的时间,直接运行一次,目的 启动项目直接执行

@Component
public class PostConstructTest {
    
    
//方法1
    public @PostConstruct void init(){
    
    
        System.out.println("---------------------------");
    }
//方法2 可以 把注解拿出来
@PostConstruct 
  public void init(){
    
    
        System.out.println("---------------------------");
    }  
}

参考链接

2.@deprecated


可以放到接口上 或者类上,不影响使用,就是一个说明 会带个划线
在这里插入图片描述
在这里插入图片描述
https://editor.csdn.net/md/?articleId=122679086 这是我另一帖子写的这个注解

3.TODO


相当于一个标记作用 比如说 你需要调别人的接口 但是别人还没写好 就先标记一下

TODO类属于com.sun.xml.internal.bind.v2包
效果图
在这里插入图片描述

具体可以看这个文章

4. @InitBinder


作用:@InitBinder用于在@Controller中标注于方法,表示为当前控制器注册一个属性编辑器或者其他,只对当前的Controller有效。
简单点就是说吧前端给的类型 转换成我们要的类型
用途二: 参数绑定
参考链接
https://zhuanlan.zhihu.com/p/115902823
https://blog.csdn.net/zengxianxue/article/details/78567544
https://blog.csdn.net/wang0907/article/details/108357696

  @InitBinder
    public void initBinder(WebDataBinder binder)
    {
    
    
        // Date 类型转换
        binder.registerCustomEditor(Date.class, new PropertyEditorSupport()
        {
    
    
            @Override
            public void setAsText(String text)
            {
    
    
                setValue(DateUtils.parseDate(text));
            }
        });
    }
//或者
/**
     * @InitBinder标注的方法,只针对当前Controller有效!
     * 如果没有该方法,则会产生400状态码!
     * MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.util.Date!
     */
    @InitBinder
    public void InitBinder(WebDataBinder binder) {
    
    
        //前端传入的时间格式必须是"yyyy-MM-dd"效果!
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        CustomDateEditor dateEditor = new CustomDateEditor(df, true);
        binder.registerCustomEditor(Date.class, dateEditor);
    }

猜你喜欢

转载自blog.csdn.net/weixin_43686599/article/details/123984889