注解

官方解释:

注解是一系列元数据,它提供数据用来解释程序代码,但是注解并非是所解释的代码本身的一部分。注解对于代码的运行效果没有直接影响。

注解有许多用处,主要如下: 

- 提供信息给编译器: 编译器可以利用注解来探测错误和警告信息 

- 编译阶段时的处理: 软件工具可以用来利用注解信息来生成代码、Html文档或者做其它相应处理。 

- 运行时的处理: 某些注解可以在程序运行的时候接受代码的提取

 

总结:

  1. 如果注解难于理解,你就把它类同于标签,标签为了解释事物,注解为了解释代码。
  2. 注解的基本语法,创建如同接口,但是多了个 @ 符号。
  3. 注解的元注解:元注解有 @Retention 生命周期 @Documented 文档、@Target 运用场景、@Inherited继承,遗传、@Repeatable 多重、多用。
  4. 注解的属性:注解的属性也叫做成员变量。注解只有成员变量,没有方法。
  5. 注解主要给编译器及工具类型的软件用的。
  6. 注解的提取需要借助于 Java 的反射技术,反射比较慢,所以注解使用时也需要谨慎计较时间成本。

 

1.@responsebody

使用在一个方法上面,一般在Controller里面的方法中,都会使用@RequestMapping来定位这个方法的,然后我们一般返回都是一个url,比如return'index',表示返回index.jsp/html页面,而如果我们在方法上面加上@responsebody,那么返回的数据就不会被解析成为跳转的url路径,而是直接写入HTTP responsebody中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。

 

 

2.@RequestBody

该注解用于读取request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上面。注解用于将Controller的方法参数,根据HTTP Request Header的content-Type的内容,通过适当的HttpMessageConverter转换为JAVA类,使用在POST或者PUT的数据是JSON格式或者XML格式,而不是普通的键值对形式.

 

 

3.@RequestMapping

用来在Controller作定位用的:eg:@RequestMapping("/admin/log/")

 

 

4.@Autowired/@resource

1)@Autowired与@Resource都可以用来装配bean.都可以写在字段上,或写在setter方法上。 

2)@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用,如下:

@Autowired() @Qualifier("baseDao")

private BaseDao baseDao;

3)@Resource(这个注解属于J2EE的),默认安照名称进行装配,名称可以通过name属性进行指定, 

如果没有指定name属性,当注解写在字段上时,默认取字段名进行按照名称查找,如果注解写在setter方法上默认取属性名进行装配。 当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。

@Resource(name="baseDao")

private BaseDao baseDao;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值