Spring与SpringMVC常用注解

一、spring常用注解:

  1. @Component:实现bean的注入(不过获取bean需要用bean的类型来获取(即class文件)
    @controller、@Service、@Repository的作用等同于@Component注解的作用,相当于其别名,只是为了更好的区分表现层,业务层,数据层的注解web开发,提供3个@Component注解衍生注解(功能一样)取代。
    • 下面三个注解括号里一般不用参数
      • @Repository(“名称”):dao层
      • @Service(“名称”):service层
      • @Controller(“名称”):web(controller)层
  2. @Configuration:@Configuration 注解用于标识一个类为 Spring 的配置类,告诉 Spring 容器该类中包含了一个或多个 bean 的配置信息。用于设定当前类为核心配置类
  3. @ComponentScan注解: @ComponentScan 注解用于指定 Spring 容器在启动时要扫描的基础包路径,以及要扫描的包路径下应该被自动注册为 Spring bean 的类。
    • 用于设定扫描路径,此注解只能添加一次,多个数据要用数组的格式
  4. @Scope:定义bean的作用范围
    • (@Scope(“singleton”): 单实例的(单例)(默认)
    • (@Scope(“prototype”):该bean为非单例模式)
  5. 定义bean的生命周期:
    • @ PostConstruct 自定义初始化(构造方法后)
    • @ PreDestroy 自定义销毁(销毁前)
  6. @Autowired:@Autowired 注解用于自动装配 bean 的依赖关系。它可以被用来标注在类的字段、构造函数、setter 方法或者配置类的方法上,以实现自动注入所需的依赖。
  7. @Qualifier:@Qualifier 注解用于与 @Autowired 注解一起使用,帮助 Spring 选择特定的 bean 进行注入,解决多个类型匹配的问题。
    • 指定自动注入的bean的名称(需要和@Autowired集合使用)
  8. @Value: @Value 注解用于从外部属性文件或者 Spring 环境中读取值,并将这些值注入到 Spring 管理的 bean 的字段、构造函数参数、或者方法参数中。
    • 可以实现简单类型注入
  9. @PropertySource: @PropertySource 注解用于在 Spring 环境中引入外部的属性文件,从而实现属性值的外部化配置。通过 @PropertySource 注解,可以告诉 Spring 容器要加载的属性文件的位置和名称。
    • 加载properties文件(其路径仅支持单一文件配置,多文件请使用数组格式配置,不允许使用通配符*
  10. @Bean:表示当前方法的返回值是一个bean(配置第三方bean,使用在方法上)
  11. @Import: @Import 注解用于在配置类中引入其他配置类,以便将它们的配置合并到当前配置中。通过 @Import 注解,可以将多个配置类组合在一起,以便统一管理和加载配置。

二、测试类的注解:

  1. @RunWith():设定类运行器。(@RunWith(SpringJUnit4ClassRunner.class))
  2. @ContextConfiguration():告诉测试类环境的配置(@ContextConfiguration(classes = SpringConfig.class))

三、事务方面的注解:

  1. @Transactional:代表开始事务,通常不写在实现类上,而是写到接口上
    然后在Service中,被 @Transactional 注解的方法,将支持事务。如果注解在类上,则整个类的所有方法都默认支持事务
  2. @EnableTransactionManagement:事务总开关,即开启注解事务管理(放在SpringConfig类上方)

四、springMVC注解:

  1. @RequestMapping:@RequestMapping 是 Spring MVC 中的一个注解,用于将HTTP请求 映射 到控制器的处理方法上。它告诉 Spring MVC 何时调用特定的方法来处理请求。
    • 是一个用来处理请求地址映射的注解,可用于映射一个请求或一个方法,可以用在类或方法上
  2. @ResponseBody: @ResponseBody 注解用于将方法的返回值直接作为 HTTP 响应的主体(Body)发送给客户端,而不是通过视图解析器渲染成视图。它通常用于 RESTful Web 服务中,用于返回 JSON、XML 或其他格式的数据给客户端。
    • 2.1 设置当前操作的返回值类型(设置当前控制器方法响应内容为当前返回值,无需解析)
    • 2.2 设置当前控制器返回值作为响应体
  3. @RequestParam:当请求参数名和形参参数名不一样的时候,可以使用@RequestParam()绑定请求参数和形参的关系
  4. @RequestBody:@RequestBody 注解用于将 HTTP 请求的内容(例如 JSON 或 XML 格式的数据)绑定到方法的参数上,表示请求体的内容应该被映射到被注解标注的方法参数上
    • 将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次(传递json数据时使用)
  5. @EnableWebMvc: @EnableWebMvc 注解是 Spring MVC 中的一个注解,用于启用 Spring MVC 框架的功能,以便在 Spring 应用程序中使用 MVC(Model-View-Controller)模式来处理 Web 请求。
    • 开启SpringMVC多项辅助功能(开启自动转化json数据的支持,放在SpringMvcConfig上方)
  6. @PathVariable:@PathVariable 注解用于从请求的 URL 路径中获取路径参数的值,并将其绑定到控制器方法的参数上。
    • 绑定路径参数与处理器方法形参之间的关系,要求路径参数名与形参名一一对应。

五、REST风格注解:

  1. @RestController:设置当前控制器类为RESTful风格,等同于@Controller与ResponseBody两个注解组合功能
  2. @GetMapping:查询,贴在请求映射方法上,等价于:@RequestMapping(method = RequestMethod.GET)
  3. @PostMapping:新增/保存,贴在请求映射方法上,等价于:@RequestMapping(method = RequestMethod.POST)
  4. @PutMapping:修改/更新,贴在请求映射方法上,等价于:@RequestMapping(method = RequestMethod.PUT)
  5. @DeleteMapping:删除,贴在请求映射方法上,等价于:@RequestMapping(method = RequestMethod.DELETE)

相关推荐

  1. SpringSpringMVC注解

    2024-04-02 14:16:03       7 阅读
  2. SpringMVC注解

    2024-04-02 14:16:03       18 阅读
  3. SpringMVC注解

    2024-04-02 14:16:03       23 阅读
  4. Spring注解!!!

    2024-04-02 14:16:03       31 阅读
  5. Spring Boot注解

    2024-04-02 14:16:03       25 阅读
  6. Spring框架注解

    2024-04-02 14:16:03       21 阅读
  7. 总结 SpringMVC 中的注解

    2024-04-02 14:16:03       24 阅读

最近更新

  1. PostCSS概述

    2024-04-02 14:16:03       0 阅读
  2. 人机之间的一次融合与二次融合

    2024-04-02 14:16:03       0 阅读
  3. 计算机网络之CIDR

    2024-04-02 14:16:03       0 阅读
  4. Oracle语句深入了解Day02

    2024-04-02 14:16:03       0 阅读

热门阅读

  1. elasticsearch之多条件查询

    2024-04-02 14:16:03       6 阅读
  2. Redis

    Redis

    2024-04-02 14:16:03      3 阅读
  3. 递归---算法

    2024-04-02 14:16:03       8 阅读
  4. 2024最新华为OD机试试题库全 -【符号运算】- C卷

    2024-04-02 14:16:03       4 阅读
  5. ES6中的Map与Set

    2024-04-02 14:16:03       4 阅读
  6. C语言中向函数中传递函数指针的方法

    2024-04-02 14:16:03       6 阅读
  7. 简单设计模式讲解

    2024-04-02 14:16:03       5 阅读
  8. C++命名空间详解

    2024-04-02 14:16:03       8 阅读
  9. 【Ubuntu】可配置环境变量位置

    2024-04-02 14:16:03       6 阅读