@Component:使用在类上实例化Bean,最好用下面三个注解替代
@Controller:web层类上实例化Bean
@Service:service层上实例化Bean
@Repository:dao层上实例化Bean
@Autowired:对类成员变量、方法及构造函数进行标注,完成自动装配的工作
@Qualifier:与@Autowired一起使用,表示当一个接口有多个实现的时候,指名具体调用哪个类的实现
@Resource:相当于前面两个注解的结合,按照名称进行注入
@Value:注入普通属性
@Scope:标注Bean作用范围
@RequestMapping:建立请求URL和处理方法之间的对应关系
位置:类上,请求URL的第一级访问目录。此处不写的话,就相当于应用的根目录。
方法上,请求URL的第二级访问目录,与类上的使用@ReqquestMapping标注的一级目录一起组成访问虚拟路径。
属性:value:用于指定请求的URL,它和path属性的作用是一样的。
method:用于指定请求的方式。
params:用于指定限制请求参数的条件,它支持简单的表达式。要求请求参数的key和value必须和配置的一模一样。
@ResponseBody:将java对象转为json格式的数据。
通常使用在控制层的方法上,用于将Controller的方法返回的对象,通过springmvc提供的HttpMessageConverter
接口转换为指定格式的数据如:json、xml等,通过Response响应给客户端。假如是字符串则直接将字符串写到客户端;假如是一个对象,此时会将对象转化为json串然后写到客户端。如果返回对象,按utf-8编码。
@RequestParam:当请求的参数名称与Controller的业务方法参数名称不一致时,就需要通过@RequestParam注解进行显式的绑定。
属性:value:与请求参数名称
required:此在指定的请求参数是否必须包括,默认是true,提交时如果没有此参数则报错
defaultValue:当没有指定请求参数时,则使用指定的默认值赋值
@RequestBody:用于获取请求体的内容
@RequestHeader:获得请求头信息
属性:value:请求头的名称
required:是否必须携带此请求头
@CookieValue:获得指定Cookie的值
属性:value:指定cookie的名称
required:是否必须携带此cookie