Spring常用注解

Posted xiexiyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring常用注解相关的知识,希望对你有一定的参考价值。

1. @controller : 标识一个类是Spring MVC controller处理器,用来创建处理http请求对象.

2. @RestController : 相当于@Controller + @ResponseBody, 默认返回JSON格式

3. @Service : 用于标注业务层组件, 将这个类注入到Spring配置中

4. @AutoWired : 用来自动装配bean 都可以写在字段上,或者方法上.默认情况下要求对象必须存在,如果要允许Null值,可以通过设置required属性为false搞定.

5. @RequestMapping : 类定义处: 提供初步的请求映射信息,相对于WEB应用的根目录.方法处: 提供进一步的细分映射信息,相对于类定义出的url.

6. @RequestParam :用于将请求参数区数据映射到功能处理方法的参数上。可以通过RequestParam(value="course_id")Integer id , 来自定义要接受的参数.

7. @ModelAttribute :用在方法上,会在每一个@RequestMapping标注的地方前执行,如果有返回值,将自动将该返回值加入到ModelMap中,相当于model.addAttribute("username" ,name);

8. @Cacheable :用来标记缓存查询. 可用于方法或类中, 当标记在一个方法上时表示该方法是支持缓存的, 当标记在一个类上时表示该类的所有方法都是支持缓存的.

9. @Resource : 相当于@AutoWired, 不过@AutoWired按ByType自动注入,而@Resource默认按ByName自动注入. 装配顺序,如果同时指定了name和type,则从Spring上下文中找到唯一一个匹配的bean进行装配,找不到则抛出异常。如果指定了name,从上下文中找到名称id匹配的bean进行装配, 找不到抛出异常。如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到抛出异常。如果既没有指定name,也没有指定type,则自动按照byName的方式进行装配,如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配

10. @PostConstruct 用来标记实在项目启动的时候执行这个方法.用来修饰一个非静态的void方法.也就是spring容器启动就执行,多用于一些全局配置、数据字典之类的加载。被@PostController修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init方法之后执行。

11: @Repository 用于标注数据访问组件,就是DAO组件

12:@Component 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注

13:@Scope 用来配置Spring bean的作用域,标识bean的作用域.默认是单例(全局有且只有一个实例)

14:@Required 适用于bean属性setter方法,标识受影响的属性必须在XML配置文件时进行填充。否则,容器会抛出异常

15:@Qualifier 当你创建多个相同类型的bean时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,你可以使用@Qualifier注释和@Autowired注释对指定哪一个真正的bean将被装配来消除混乱。

 

以上是关于Spring常用注解的主要内容,如果未能解决你的问题,请参考以下文章

spring常用注解

spring常用注解作用与常用接口与后置处理器

Spring注解

Spring常用注解介绍经典总结

spring常用注解

jackson常用注解和spring中的配置