Spring注解的使用
注解本质上就是一个类,开发中可以使用注解取代xml配置文件
@Component
解释
把普通pojo实例化到spring容器中,相当于配置文件中的
使用
当我们的类不属于各种归类时,即不属于@Controller、@Service的时候,可以使用@Component来标注这个类,实现bean的注入
具体的例子
@Component public class UserServiceImpl implements IUserService(){ @Override public void save(User user){ System.out.printf(user); } }
在类上声明@Component相当于 配置了
@Component(“userService”)
相当于配置了Id
@Controller
- 作用:注入服务
- 用于标注控制层组件
- 标记在一个类上,使用他标记的类就是SpringMVC controller对象
- 分类处理器会扫描使用该注解类的方法,并检测该方法是否使用@RequestMapping注解
- 可以把request请求header的值绑定到方法的参数上
@RestController
- 作用:相当与@requestBody和@Controller的组合效果
@Service
作用:注入dao
用于标注服务层,主要用来业务的逻辑处理
@repository
作用:实现dao访问
用于标注数据访问层,在daoImpl上面注解
@ResponseBody
- 作用:
- 异步请求
- 用于Controller的方法返回对象,通过适当的httpMessageConverter转换成指定格式后,写入到response对象的body数据区
- 返回的数据不是html标签页面,而是其他格式的数据(json,xml等)使用
@RequestMapping
- 作用:用来处理请求地址映射的注解,用于类或者方法上。用于类上,表明类中所有响应请求的方法都是以该地址为父路径
@Autowired
- 作用:可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作,并可以消除set、get方法
@PathVariable
- 作用:用于将url中的模板变量映射到处理方法的参数上,取出url中的变量作为参数
@requestParam
- 作用:主要用springMVC后台控制层获取参数
@RequestHeader
- 作用:可以把request请求header部分的值绑定到方法的参数上