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 缓存在项目中的使用详解

《Spring缓存在项目中的使用详解》Spring缓存机制,Cache接口为缓存的组件规范定义,包扩缓存的各种操作(添加缓存、删除缓存、修改缓存等),本文给大家介绍Spring缓存在项目中的使用... 目录1.Spring 缓存机制介绍2.Spring 缓存用到的概念Ⅰ.两个接口Ⅱ.三个注解(方法层次)Ⅲ.

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

Spring Cache注解@Cacheable的九个属性详解

《SpringCache注解@Cacheable的九个属性详解》在@Cacheable注解的使用中,共有9个属性供我们来使用,这9个属性分别是:value、cacheNames、key、key... 目录1.value/cacheNames 属性2.key属性3.keyGeneratjavascriptor

redis在spring boot中异常退出的问题解决方案

《redis在springboot中异常退出的问题解决方案》:本文主要介绍redis在springboot中异常退出的问题解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴... 目录问题:解决 问题根源️ 解决方案1. 异步处理 + 提前ACK(关键步骤)2. 调整Redis消费者组

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案

《使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案》在SpringBoot应用中,我们经常使用​​@Cacheable​​注解来缓存数据,以提高应用的性能... 目录@Cacheable注解Redis时,Redis宕机或其他原因连不上,继续调用原方法的解决方案1

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,

java中XML的使用全过程

《java中XML的使用全过程》:本文主要介绍java中XML的使用全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录什么是XML特点XML作用XML的编写语法基本语法特殊字符编写约束XML的书写格式DTD文档schema文档解析XML的方法​​DOM解析XM

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别