在java中注解是一个很重要的组成部分,使用注解能够使代码更加简洁,动态的提高代码的扩展性和可维护性。
按照来源分类:
- java自带的注解
- 第三方提供的注解
- 自定义的注解
- 元注解
常见的注解:
java自带的注解
- @Override 重写
- @Test 测试
- @Deprecated 方法过时
- @SuppresWarning 忽略警告
- @Resource 自动装配
第三方注解
@Repository: 用于标注数据访问组件,即DAO组件
@Service: 用于标注业务层组件
@Controller: 控制层
@Transactional: 声明这service所有方法都需要事务管理。每一个业务方法开始时都会打开一个事务
@Component: 把该中立的类交给spring管理
@Autowired: 自动装配,将bean容器里的值自动注入到bean
@Path: 处理REST请求,接口路径
@RequestBody
作用于形参上,将前台发来的固定格式的数据(xml或json)封装成JavaBean对象
如何封装: 使用系统默认配置的 HttpMessageConverter对数据进行解析,然后封装到形参上
body-> JavaBean
@ResponseBody
作用于方法,表明此方法的返回值写入Http response body中
如何写入: 该注解作用的方法返回一个对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区
JavaBean-> body
@RestController
@Controller与@ResponseBody的结合
@Configuration
表明是一个配置类
。。。
元注解
@Target:用于描述注解的使用范围(即:被描述的注解可以用在什么地方)
取值(ElementType)有:
1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
@Retention::表示它所标识的注解的生命周