码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SpringBoot 小结


    文章目录

    • 1 注解
      • 1.1 创建对象的注解
        • 1.1.1 @Controller
        • 1.1.2 @RestController
        • 1.1.3 @Service
        • 1.1.4 @Repository
        • 1.1.5 @Component
      • 1.2 赋值类的注解
        • 1.2.1 @Value
        • 1.2.2 @Autowired
        • 1.2.3 @Qualifier
        • 1.2.4 @Resource
      • 1.3 数据库相关注解
        • 1.3.1 @Transactional
        • 1.3.2 @Mapper
        • 1.3.3 @MapperScan
        • 1.3.4 @Param
      • 1.4 SpringBoot相关注解
        • @SpringBootApplication
      • 1.5 Dubbo相关
      • 1.6 其他的注解
        • 1.3.1 @Configuration
        • 1.3.2 @Bean
        • 1.3.3 @ImportResource
        • 1.3.4 @PropertySource
        • 1.3.5 @ResponseBody和@RequestBody
        • 1.3.6 @ControllerAdvice和@ExceptionHandler

    1 注解

    1.1 创建对象的注解

    1.1.1 @Controller

    放在类上面,创建Controller对象,注入到容器中。

    1.1.2 @RestController

    复合注解。@Controller和@ResponseBody的组合。

    1.1.3 @Service

    放在业务层实现类上面,创建Service对象,注入到容器。

    1.1.4 @Repository

    放在dao层的实现类上面,创建dao对象。
    使用mybatis框架的时候,dao对象有mybatis通过代理生成,所以就用不到这个注解。

    1.1.5 @Component

    放在类上面,创建类对象,并注入到容器中。

    1.2 赋值类的注解

    1.2.1 @Value

    简单类型赋值。

    @Value("lisi")
    private String name;
    
    • 1
    • 2

    可以用来获取配置文件中的数据

    @Value("${server.port}")
    private Integer port;
    
    • 1
    • 2

    1.2.2 @Autowired

    引用类型自动注入,支持byName,byType,默认是byType方式。
    放在属性上面,也可以放在构造方法上面,推荐放在构造方法上面。

    1.2.3 @Qualifier

    byName方式给引用类型赋值。
    @Autowired和@Qualifier都由Spring框架提供。

    1.2.4 @Resource

    jdk中声明的注解。默认是byName,如果byName失败,再使用byType

    1.3 数据库相关注解

    1.3.1 @Transactional

    放在Service实现类的public方法上面,表示此方法有事务

    1.3.2 @Mapper

    放在类上面,让mybatis找到接口,创建代理对象

    1.3.3 @MapperScan

    放在启动类上面,指定扫描的包,为这个包中的所有接口都创建代理对象。

    1.3.4 @Param

    放在dao接口方法的形参前面,作为命名参数使用。

    1.4 SpringBoot相关注解

    @SpringBootApplication

    放在启动类上面

    1.5 Dubbo相关

    @DubboService:在提供者端使用,暴露服务,放在接口实现类上面
    @DubboReference:在消费者端使用,应用远程服务,放在属性上面。
    @EnableDubbo:放在启动类上面,表示当前应用启动dubbo服务。

    1.6 其他的注解

    1.3.1 @Configuration

    放在类上面,表示配置类,相当于xml配置文件。

    1.3.2 @Bean

    放在方法上面,把方法的返回值对象注入到Spring容器中。

    1.3.3 @ImportResource

    加载其他xml文件配置,把文件中的对象注入到容器中。

    1.3.4 @PropertySource

    读取其他的properties属性配置文件。

    1.3.5 @ResponseBody和@RequestBody

    @ResponseBody:放在方法上面,表示方法的返回值是数据,不是视图
    @RequestBody:把请求体中的数据,读取出来,转为java对象使用。

    1.3.6 @ControllerAdvice和@ExceptionHandler

    @ControllerAdvice:控制器增强,放在类上面,此类提供了方法可以对controller进行功能增强。
    @ExceptionHandler:异常处理,放在方法的上面。

  • 相关阅读:
    软件测试面试题:您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容?
    3D 生成重建004-DreamFusion and SJC :TEXT-TO-3D USING 2D DIFFUSION
    CSS:filter(滤镜)属性
    初试Shiro
    Mac电脑强大的字体管理 RightFont for Mac
    延迟任务多种实现姿势--下
    微分中值定理之拉格朗日中值定理
    Leetcode 791. 自定义字符串排序
    Nginx架构详解
    WebGIS开发教程:geojson
  • 原文地址:https://blog.csdn.net/kaikai_sk/article/details/126767845
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号