SSM(Spring SpingMVC Mybatis)框架常用注解

2024-02-25 17:58

本文主要是介绍SSM(Spring SpingMVC Mybatis)框架常用注解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SSM常用注解

  • 1.Spring Boot的常用的注解
    • @SpringBootApplication
    • @EnableConfigurationProperties和@ConfigurationProperties
  • 2.Spring的常用注解
    • @ComponentScan
    • @Service
    • @Repository
    • @Component
    • @Autowire
    • @Qualifier
    • @Resource
    • @Bean
  • 3.springmvc的常用注解
    • @Controller
    • @ResponseBody
    • @RestController
    • @RequestMapping
    • @PathVariable
    • @RequestParam
    • @RequestBody
    • @ResponseBody
    • @GetMapping
    • @PostMappding
  • 4. 其他常用注解
    • @Resource
    • @PostConstruct
    • @PreDestroy

1.Spring Boot的常用的注解

@SpringBootApplication

此注解是Sprnig Boot项目的核心注解,目的是开启自动配置

@EnableConfigurationProperties和@ConfigurationProperties

属性注入

将属性配置注入到Spring 的Bean中,在很多中间件中都需要去定义一些属性的,方式总共有四种:

第一种方式,@ConfigurationProperties 和 @Component 搭配使用,属性需要在 application.yml 中进行配置;

@ConfigurationProperties(prefix = "person")
@Component
public class Person {private Integer id;private String name;private List<String> interests;// setter and getter 
}
# yaml 文件中内容
person:id: 10name: 李四interests:- movie- sport- read

第二种方式,@ConfigurationProperties 和 @EnableConfigurationProperties 搭配使用,但是要注意以下两点:

  1. @EnableConfigurationProperties 需要放在一个被纳入到 IOC 容器的Bean的头顶;
  2. @EnableConfigurationProperties 和 @ConfigurationProperties 不是在一起使用的;
  3. @EnableConfigurationProperties 的值是头顶加了 @ConfigurationProperties 这个类的 Class 类型的对象
@ConfigurationProperties(prefix = "person")
public class Person {private Integer id;private String name;private List<String> interests;// setter and getter 
}
@SpringBootApplication
@EnableConfigurationProperties(Person.class)
public class FirstSpringBootApplication {   // FirstSpringBootApplication也会被纳入到IOC容器中public static void main( String[] args) {/*** 启动springboot的项目,第一个参数是标注了 @SpringBootApplication 这个注解的类型*/SpringApplication.run(FirstSpringBootApplication.class, args);}
}
# yaml 文件中内容
person:id: 10name: 李四interests:- movie- sport- read

第三种方式,@PropertySource(“classpath: /config.properties”) 和 @Component 搭配使用,然后属性要使用 @Value 实现注入

@PropertySource(value="classpath:/config.properties", encoding = "utf-8")
@Component
public class User {@Value("${user.id}")private Integer id;@Value("${user.nickname}")private String name;@Value("${user.interests}")private List<String> interests;// 
}

第四种方式,@PropertySource 和 @ConfigurationProperties 、@Component 搭配使用,@PropertySource来指定外部资源; @ConfigurationProperties 指定前缀。不需要使用 @Value 来实现属性的注入

@PropertySource("classpath:/config.properties")
@ConfigurationProperties(prefix = "wx")
@Component
public class Pay {private String appKey;private String tradeId;// setter and getter 
}

2.Spring的常用注解

@ComponentScan

@ComponentScan这个注解在Spring中很重要,它对应XML配置中的元素,@ComponentScan的功能其实就是自动扫描并加载符合条件的组件(比如@Component和@Repository等)或者bean定义,最终将这些bean定义加载到IoC容器中。
我们可以通过basePackages等属性来细粒度的定制@ComponentScan自动扫描的范围,如果不指定,则默认Spring框架实现会从声明@ComponentScan所在类的package进行扫描。

@Service

这个注解放到 Serviece 的实现类上。

@Repository

这个注解放到 DAO 的实现类上。

@Component

遇到性质不明确的类的时候,就加上该注解。

@Autowire

(纳入IOC容器)首先根据类型查找,如果多个,就看谁的头顶的有 @Primary,就注入谁;如果没有没有@Primary 注解,就按照名字来进行注入,如果名字都没有区分就报异常。

@Qualifier

它的出现就是为了和 @Autowire 搭配使用的,就是指定一个名字,在注入的时候根据类型的时候同时判断名字来实现注入,无视名字和@Primary注解,只根据@Qualifier来创建。

@Resource

首先根据名字来实现注入,如果命名没有相同,就根据类型查找,如果类型有多个,就看谁的大头顶有 @Primary 注解,名字优先于@Primary。

@Bean

@Bean 用在方法上,告诉Spring容器,你可以从下面这个方法中拿到一个Bean

3.springmvc的常用注解

@Controller

@Controller表示在服务器启动的时候,把这个类作为一个控制器加载到Spring的Bean工厂,加上了这个注解的类就相当于以前的一个servlet层的类,主要负责处理前端控制器(DispatcherServlet )发过来的请求,经过业务逻辑层处理之后封装层一个model,并将其返回给view进行展示。

@ResponseBody

此注解的主要作用就是返回给前端的数据全为json数据

@RestController

@RestController注解里面包含了@Controller注解和@ResponseBody注解

@RequestMapping

此注解是一个用来处理请求地址映射的注解(设置一个前端可访问的域名后缀),它可以用于类上,也可以用于方法上。用于类上的注解会将一个特定请求或者请求模式映射到一个控制器之上,表示类中的所有响应请求的方法都是以该地址作为父路径;方法的级别上注解表示进一步指定到处理方法的映射关系。

@PathVariable

此注解主要用来获取 URL 参数,如:

http://localhost:8080/login?username=zhangsan&password=123

@RequestParam

此注解主要用来获取 URL 参数,如:

http://localhost:8080/login/zhangsan/123

@RequestBody

此注解用于形参列表中,目的是将前端转换的json数据转换为一个实体类,这种类一般放在dto包中

@ResponseBody

词注解用于方法上,目的是返回给前端的数据为json数据

@GetMapping

注解用于 GET 请求上,接收 JSON 实体参数,设置后置域名

@PostMappding

注解用于 POST 请求上,接收 JSON 实体参数,设置后置域名

4. 其他常用注解

@Resource

首先根据名字来实现注入,如果命名没有相同,就根据类型查找,如果类型有多个,就看谁的大头顶有 @Primary 注解,名字优先于@Primary。

@PostConstruct

对应着 init-method 这个配置的一个注解,是spring bean的生命周期的一个注解。在Spring中碰到方法名或者注解中带有 Post, 表示在XXXX之后。

@PreDestroy

对应着destroy-method这个配置的一个注解,销毁的时候执行的方法。在Spring中碰到方法名或者注解中带有 Pre, 表示在XXXX之前。

这篇关于SSM(Spring SpingMVC Mybatis)框架常用注解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/746243

相关文章

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java中反射Reflection的4个作用详解

《java中反射Reflection的4个作用详解》反射Reflection是Java等编程语言中的一个重要特性,它允许程序在运行时进行自我检查和对内部成员(如字段、方法、类等)的操作,本文将详细介绍... 目录作用1、在运行时判断任意一个对象所属的类作用2、在运行时构造任意一个类的对象作用3、在运行时判断

java如何解压zip压缩包

《java如何解压zip压缩包》:本文主要介绍java如何解压zip压缩包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java解压zip压缩包实例代码结果如下总结java解压zip压缩包坐在旁边的小伙伴问我怎么用 java 将服务器上的压缩文件解压出来,

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结