最近在学springboot,发现注解当时学习时没认真学~,所以根据各方资料整理总结了以下比较重要的注解。慢慢积累慢慢补充~
@Configuration注解
该类等价于XML配置中的beans,它的某个方法头上如果注册了@Bean,就会作为这个spring容器中的Bean,与XML中的bean意思一样。@Configuration注解的类必须被扫描。
@Value注解
为了简化从properties文件中读取配置,可以使用@Value读取properties里的配置值
在程序中使用@Value
@Value(“${vx_appid}”)
Public String appid;
即使给变量appid赋了初值也以配置文件的值为准
@Controller,@Component,@Service,@Repository
四中注解意思一样,并没有什么区别。
@RequestBody注解
@RequestBody注解是将Http请求正文插入方法中,使用适合的HttpMessageConverter将请求体写入某个对象
- 该注解用于读取Request请求的Body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上。
- 再把HttpMessageConverter返回的对象数据绑定到controller中方法的参数上。
@ResponseBody注解
@ResponseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为制定的格式后,写入到response对象的body区,通常用来返回JSON数据或者是XML,一般在异步获取数据时使用,通常是在使用了@RequestMapping注解之后,返回值通常解析为跳转地址,加上@ResponseBody注解后不会解析为跳转地址,而是直接写入http响应的正文之中。
@RestController注解
@RestController注解相当于@ResponseBody+@Controller合在一起的作用
- 若只用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器InternalResourceViewResolver不起作用,返回内容就是Returen里的内容
- 如果需要返回到指定页面,则要用@Controller配合视图解析器InternalResourceVierResolver才行,如果需要返回JSON,XML或者自定义media Type内容到页面,则需要在对应的方法上加上@ResponseBody注解
@RequestMapping注解
@RequestMapping是一个用来处理请求地址映射的注解,可用于类上或者方法上,用于类上,表示类中所有响应请求的方法都是以改地址作为父路径。
@Autowired注解
@Autowired注解可以标注类成员变量、方法以及构造函数,完成自动装配工作。
默认先按byType,如果发现多个bean,则按byName方式比对,如果还有多个,则抛出异常。
- 可手动指定按byName的方式注入,使用@Qualifier
- 如果允许null,则设置属性required=false
@Resource注解
默认先按byName自动注入,如果找不到bean,则按byType方式对比,如果还找不到抛出异常,无论byName还是byType找到多个即抛出异常
可以手动指定bean,自动注入的方式(byName和byType)会根据指定属性(name和type)的不同而自动选择。