Java框架中的注解

常见注解总结

  • 创建对象的:

    • @Controller:放在类的上面,创建控制器对象,注入到容器中

    • @RestController:放在类的方面,创建控制器对象,注入到容器中

      • 作用:复合注解:是@Controller + @ResponseBody,使用这个注解的类,里面控制器方法的返回值是数据,不是视图。

    • @Service:放在业务层的实现类上面,创建service对象,注入到容器

    • @Repository:放在dao层的实现类上面,创建dao对象,注入到容器,这个注解使用的少,是因为现在使用的MyBatis框架,dao对象是通过MyBatis通过代理对象生成的,不需要使用@Repository了

    • @Component:放在类的上面,创建此类的对象,注入到容器,如果既不是控制层也不是业务层也不是持久层,需要创建对象,用这个注解

  • 赋值的:

    • @Value:简单类型的赋值,例如在属性的上面使用@Value

      • @Value("张三")
        private String name;
      • 还可以使用@Value获取配置文件中的数据(properties或yml)

      • @Value("${server.port}")
        private Integer port;

    • @Autowired:引用类型赋值自动注入,支持byName,byType,默认是byType

      • 既可以放在属性上面,也可以放在构造方法上面,推荐放在构造方法上面

    • @Qualifier:给引用类型赋值,使用byName方式,和@Autowired一起使用

      • @Autowired + @Qualifier 相当于 @Resource

    • @Resource:来自JDK中的定义,javax.annotation,实现引用类型的自动注入,支持byName和byType,默认是byName,如果byName失败在使用byType,推荐在属性上面使用。

  • 其他:

    • @Configuration:放在类的上面,表示这是一个配置类,相当于xml配置文件

    • @Bean:放在方法的上面,把方法的返回值对象,注入到Spring容器中

    • @ImportResource:加载其他的xml配置文件,把文件中的对象注入到Spring容器中

    • @PropertySource:读取其他的properties属性配置文件

    • @ComponentScan:组件扫描器,指定包名,扫描注解的

    • @ResponseBody:放在方法的上面,表示方法的返回值是数据,不是视图

    • @RequestBody:把请求体中的数据读取出来,转为Java对象

    • @ControllerAdvice:控制器增强,放在类的上面,表示此类提供了方法,可以对Controller增强功能,一般用于异常处理,和@ExceptionHandler一起使用

    • @ExceptionHandler:处理异常的,放在方法上面

    • @Transcational:处理事务,放在service实现类的public方法上面,表示此方法有事务

  • SpringBoot中的注解:

    • @SpringBootApplication:放在启动类上面,包含了@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan

  • MyBatis相关注解:

    • @Mapper:放在类的上面,让MyBatis找到接口,创建他的代理对象

    • @MapperScan:放在主类的上面,指定扫描的包,把这个包的所有接口都创建代理对象注入到容器

    • @Param:放到dao接口的方法的形参前面,作为命名参数使用

  • Dubbo注解:

    • @DubboService:在提供者端使用,暴露服务的,放在接口的实现类上面使用

    • @DubboReference:在消费者端使用,引用远程服务,放在属性上面使用

    • @EnableDubbo:放在主类上面,表示当前引用启动Dubbo功能

总结不易,看到这里了点个赞收个藏再走吧!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值