Spring常用注解

@Resource:byName进行自动注入

(@Resource(name="baseDao")
private BaseDao baseDao;

@Autowired:byType进行自动注入(应该就是根据bean的name和class属性进行选择的)

@Value:通过@Value(“${}”) 可以获取对应属性文件中定义的属性值。

@Value("${init.password}")  
 private String initPwd;   

 有的时候我们可能需要注入静态变量,用于静态方法的引用,那么我们通过这种方式获取到的值是一个null,也就是没获取到值,我们可以把@Value注解加到set方法上,来注入配置。

 private static String userName;
 
    @Value("${susan.test.userName}")
    public void setUserName(String userName) {
        UserService.userName = userName;
    }
 
    public String test() {
        return userName;
}

@Scheduled(cron = "0 0 9 * * ? ") 表示每天九点定时执行

@Scheduled(fixedDelay=10000)表示上一个任务执行结束10秒后执行

@Scheduled(fixedRate=10000)表示上一个任务执行开始10秒后执行

@NoArgsConstructor:无参构造

@AllArgsConstructor:有参构造(所有参数)

@Data:get set方法 还有toString方法,

@Service用于标注业务层组件

@Controller用于标注控制层组件(如struts中的action)

@RestController:可以给前端返回字符串(可以看我的关于RestCintroller的文章)

@Repository用于标注数据访问组件,即DAO组件

@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。  

@Slf4j是用作日志输出的,一般会在项目每个类的开头加入该注解,如果不写下面这段代码,并且想用log,就可以使用这个注解进行代替,可以直接使用log.info()打印日志。

@RequestBody  简单来说就是在一个接口里,也就是一个controller里,你封装了一个对象来接收前端传过来的参数,这个时候需要在对象上加@RequestBody注解,用法如下,但是记得对象里的属性名字要和前端传的参数对应

 @PostMapping("/saveTableHead")
    public ApiResponse saveTableHead(@RequestBody BankFileInstall bankFileInstall) {
       
        return ApiResponse.createApiResponse("", HttpStatusEnum.SUCCESS);
    }

@Param注解: 

当以下面的方式进行写SQL语句时:虽然例子里参数写了一个,但是可以写多个,例如userName,password等,在前面加上@Param注解即可

@Select("select column from table where userid = #{userid} ")
    public int selectColumn(int userid);

当你使用了使用@Param注解来声明参数时,如果使用 #{} 或 ${} 的方式都可以。

@Select("select column from table where userid = ${userid} ")
    public int selectColumn(@Param("userid") int userid);

不使用@Param注解时, 参数只能有一个,并且是Javabean(对象)。在SQL语句里可以引用JavaBean的属性,而且只能引用JavaBean的属性。

     // 这里id是user的属性
    @Select("SELECT * from Table where id = ${id}")
    Enchashment selectUserById(User user);

@Transactional: 是声明式事务管理 编程中使用的注解,用于管理事务

还有注解就是 javax.validation 包下的一些校验参数的

 

 这个还要注意嵌套校验  需要加@Valid注解

 @inherited 注解详解

这个注解如果加载一个注解上代表这个注解是可以被子类继承的

@ComponentScans 注解:

扫描主启动类同级以外的包目录

通配符  com.xxx.*   属性basePackages={} 中括号里边是一个数组,每个元素用逗号分隔


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值