Spring中@ResponseBody,@Autowired和@Resource

@responsebody表示该方法的返回结果直接写入HTTP response body中
一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。(常用于对app提供数据的接口方法上),app获取网络数据通常都是异步方式获取。

@Autowired注解是按类型装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。如果我们想使用按名称装配,可以结合@Qualifier注解一起使用。如下:

@Autowired  @Qualifier("userDao")

private PersonDao  personDao;
  @Resource默认按 byName 自动注入,由J2EE提供。

    需导入Package:  javax.annotation.Resource

    @Resource有两个中重要的属性:name和type ,而Spring将@Resource注解的name属性解析为bean的

    名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用

    type属性时则使用 byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。

@Resource(name=“userDao”)

private UserDao  userDao;//用于字段上

@Resource(name=“userDao”)

public void setUserDao(UserDao userDao) {//用于属性的setter方法上

     this.userDao= userDao;

}

 

猜你喜欢

转载自654768009.iteye.com/blog/2338110