码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Spring中各种注解的使用说明汇总清单


    目录

    一、放在最开始方法的外侧的注解

    1、@ControllerAdvice:

    2、@ResponseBody 

    3、@slf4j

    4、@Configuration

    5、@Component、@Controller、@Service和@Repository

    6、@Mapper

    7、@Service

    8、@RestController @RequestMapping("/路径")

    9、@EnableTransactionManagement和@Transactional(配合使用)

    10、@EnableCaching 

    11、@Scope

    12、@PropertySource 

    13、@Import 

    14、@Controller

    15、@RequestMapping

    16、@ComponentScan 

    17、@EnableWebMvc

    18、@RestController

    二、放在内部方法的上面的注解(方法注解)

    1、@Bean

    2、@ExceptionHandler

    3、@GetMapping("/page")和@PostMapping("/")

    4、@DeleteMapping

    5、@Cacheable、@Cacheput、@CacheEvict (缓存数据的注解) 

    6、@PostConstruct 和@PreDestroy

    7、@GetMapping、@PostMapping、@PutMapping和@DeleteMapping

    三、实体类属性上添加注解

    1、@TableField 

    2、@Autowired

    3、@Value 

    四、和变量放在一起,作用变量

    1、@RequestBody

    2、@PathVariable

    3、@RequestParam

    五、测试类的注解

    1、@RunWith

    2、@ContextConfiguration


    一、放在最开始方法的外侧的注解

    1、@ControllerAdvice:

    @ControllerAdvice:拦截拥有某一注解的类。

    用途:用于全局异常处理。

    @ControllerAdvice(annotations = {RestController.class, Controller.class})

    2、@ResponseBody 

    解释:上面就是只要是拥有@RestController和@Controller注解的类都会被拦截进行处理。

    @ResponseBody:用于下面的返回json格式的信息。 将下面的返回的数据结果以json格式进行返回。将服务端处理的数据以json格式返回到前端。

    3、@slf4j

    @slf4j:用于在IDEA上的控制台进行日志的输出。

    4、@Configuration

    @Configuration:配置类,将applicationContext.xml删除。并使用一个配置类SpringConfig来替换,在配置类上添加@Configuration注解,将其标识为一个配置类,替换applicationContext.xml。

    5、@Component、@Controller、@Service和@Repository

    @Component:使其下面的类被Spring框架来管理

    @Component的作用和其他的三个注解方法一致:下面三种只是为了区分归属的类:

    @Controller :表现层

    @Service:业务层

    @Repository:数据层

    6、@Mapper

    @Mapper:Mapper接口创建时的处理配置

    7、@Service

    @Service:service(业务层)层创建时的处理注解

    8、@RestController @RequestMapping("/路径")

    @RestController

    @RequestMapping("/路径")

    :两者都是在Controller(控制层)层创建时的注解。

    9、@EnableTransactionManagement和@Transactional(配合使用)

    @EnableTransactionManagement:关于在服务实现类中注解@Transactional事务控制的启动

    在启动类处进行添加注解 

    @Transactional:对数据库的多张表进行操作处理的功能。事务管理。

    10、@EnableCaching 

    @EnableCaching :

    11、@Scope

     @Scope:设置该类创建对象的作用范围,设置创建出来的bean是否为单例对象

    12、@PropertySource 

     

    13、@Import 

    通常是为了配置类,将配置类导入到所要实现的类中,如果需要在该类上导入多个配置类,需要用“,”进行区分开。如下所示:

    14、@Controller

    @Controller:

    设置SpringMVC中controller进行配置

    15、@RequestMapping

    16、@ComponentScan 

    17、@EnableWebMvc

    @EnableWebMvc:

    添加在config配置类中,进行对前端传输的json数据进行接收。

    通常与@RequestBody进行配合,该使用将后端处理后的数据以json形式发送给前端。 

    18、@RestController

    @RestController:

     

    二、放在内部方法的上面的注解(方法注解)

    1、@Bean

    @Bean:意味着下面的内容将会被Spring进行管理

     

    注:是return返回值 

    2、@ExceptionHandler

    @EceptionHandler():括号内添加报错的异常信息的类

    为什么要使用page类的原因:页面需要什么数据,后端就找什么数据

    因为在前端list清单中的获取成员清单获取的过程中,需要有这些内容。employee类中是没有这些的。但是在Page类中这些数据存在。 

    3、@GetMapping("/page")和@PostMapping("/")

    请求方式的路径信息。和注解@RequestMapping("/employee")//和数据库连接名一致

    配合使用。

    4、@DeleteMapping

    @DeleteMapping:与删除方法进行匹配

    5、@Cacheable、@Cacheput、@CacheEvict (缓存数据的注解) 

    6、@PostConstruct 和@PreDestroy

    7、@GetMapping、@PostMapping、@PutMapping和@DeleteMapping

    简化RESTFUL开发风格的程序简化:

     例如:

    三、实体类属性上添加注解

    1、@TableField 

    @TableField :实现公共字段自动填充的功能。

    例如:

    2、@Autowired

    @Autowired:自动装配服务层的对象

    解释:需要那个类中的对象,或者那个类中的方法。那么就直接调用该类中的对象进行私有化,然后使用@Autowired进行自动装配。就可以使用这个类的对象的属性。

      

    3、@Value 

    @Value:全局变量的设置,将.yaml文件的配置的变量引用的类当中。

    例如:

    将上述的这个作为一个变量用于类中

    上述是在类中的设置。与.ymal文件进行衔接。

    四、和变量放在一起,作用变量

    1、@RequestBody

    @RequestBody:变量是json格式的,用其进行注解表示

    2、@PathVariable

     @PathVariable:如图所示:

    代码的解决:使用注解@PathVariable

    解决两个问题:

    3、@RequestParam

    @RequestParam:参数变量

    处理前端和后端服务器之间变量名不一致的问题。例如:

     

    五、测试类的注解

    1、@RunWith

    2、@ContextConfiguration

  • 相关阅读:
    C语言百日刷题第十天
    解决使用react devtools调试工具时无法显示组件名称的问题
    智汇华云 | 集群日志动态采集方案
    Unity3D占用内存太大怎么解决呢? -补
    【Python 使用和高性能技巧总结】
    【接口干货】热门、免费api集合
    除了console.log(),很多人不知道的其他方法console.table,console.dir,console.time等
    python+django中小学课外知识在线学习网站pycharm
    通过Xshell7连接云服务Linux系统级上传文件
    [office] excel中数据汇总的大全教程文字版 #知识分享#经验分享#知识分享
  • 原文地址:https://blog.csdn.net/xiaoxixicc/article/details/127838044
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号