关于spring的几个比较重要的注解

最近在学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将请求体写入某个对象

  1. 该注解用于读取Request请求的Body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上。
  2. 再把HttpMessageConverter返回的对象数据绑定到controller中方法的参数上。

 

 

@ResponseBody注解

@ResponseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为制定的格式后,写入到response对象的body区,通常用来返回JSON数据或者是XML,一般在异步获取数据时使用,通常是在使用了@RequestMapping注解之后,返回值通常解析为跳转地址,加上@ResponseBody注解后不会解析为跳转地址,而是直接写入http响应的正文之中。

 

@RestController注解

@RestController注解相当于@ResponseBody+@Controller合在一起的作用

  1. 若只用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器InternalResourceViewResolver不起作用,返回内容就是Returen里的内容
  2. 如果需要返回到指定页面,则要用@Controller配合视图解析器InternalResourceVierResolver才行,如果需要返回JSON,XML或者自定义media Type内容到页面,则需要在对应的方法上加上@ResponseBody注解

 

@RequestMapping注解

@RequestMapping是一个用来处理请求地址映射的注解,可用于类上或者方法上,用于类上,表示类中所有响应请求的方法都是以改地址作为父路径。

 

@Autowired注解

@Autowired注解可以标注类成员变量、方法以及构造函数,完成自动装配工作。

默认先按byType,如果发现多个bean,则按byName方式比对,如果还有多个,则抛出异常。

  1. 可手动指定按byName的方式注入,使用@Qualifier
  2. 如果允许null,则设置属性required=false

 

@Resource注解

默认先按byName自动注入,如果找不到bean,则按byType方式对比,如果还找不到抛出异常,无论byName还是byType找到多个即抛出异常

可以手动指定bean,自动注入的方式(byName和byType)会根据指定属性(name和type)的不同而自动选择。

猜你喜欢

转载自blog.csdn.net/qq_35383748/article/details/81234678