Spring和Spring MVC的常用注解

一、Spring常用注解:

        目的:使用注解来构造IOC容器
        用注解来向Spring容器注册Bean。需要在applicationContext.xml中注册
        1、@Compoent 
        是所有受Spring管理组件的通用形式,@Component注解可以放在类的上边
        2、 @Contrpller        
        对应表现层的Bean,也就是Action
        3、@sevice
        对应的是业务层Bean
        4、@Repositoty 
        对应数据库访问层Bean

二、Spring MVC常用注解

        1、@Controller         
        用于标记在一个类上,使用它标记的类就是Spring MVC Controller对象,只是定义了一个控制器类,而使用@RequestMapping注解的方法才是真正处理请求的处理器@RequestMapping     RequestMapping注解有六个属性:
  • value:指定请求的实际地址,指定的地址可以是URL Template类型value,method        
  • method:指定请求的method类型,GET、POST等  consumes,producesconsumes:指定处理请求的提交内容类型,例如:jsp、html等produces:指定返回的内容类型,仅当request请求头中的类型包含该指定类型才返回params,
  • headers  :指定request中必须包含某些参数值时,才让方法处理headers
  • params:指定request中必须包含某些指定的header值,才能让该方法处理请求
  • consumes:指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
  • produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
        2、@Resource和@Autowired
        @Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,只是Spring支持该注解的注入
        (1)共同点:
        两者都可以写在字段和setter方法上。两者都写在字段上,那么就不需要再写setter方法
        (2)不同点:
        @Autowired为Spring提供的注解,需要导入包,只按照一定的格式去注入即可,@Autowired注解是按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它的 required属性为false。如果我们想使用按照名称(byName)来装配
        @Resource默认按照ByName自动注入,由J2EE提供,需要导入包javax.annotation.Resource。@Resource 有两个重要的属性:name和type,而Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的 类型。所以,如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不制定name也不 制定type属性,这时将通过反射机制使用byName自动注入策略。
        3、@ResponseBody

        作用:该注解用于将Controller的方法返回的对象,通过适当的httpMessageConverter转换为指定格式后,写入到Response对象的body数据区

        4、@RestController
        我们经常见到一些控制器实现了REST的API,只为服务于JSON,XML或其它自定义的类型内 容,@RestController用来创建REST类型的控制器,与@Controller类型。@RestController就是这样一种类型,它 避免了你重复的写@RequestMapping与@ResponseBody。

转载于:https://my.oschina.net/u/4169647/blog/3084126

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值