码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 如何写SpringBootStarter 通过一个例子让你掌握starter


    如何写SpringBootStarter 通过一个例子让你掌握starter

    • 1.spring-booter-starer是什么
    • 2 如何开始写一个starter
        • 2.1 resources下面创建META-INFO文件夹,创建spring.factories文件
        • 2.2 配置好上面的Config Bean
        • 2.3 把项目打包
        • 2.4
    • 通过一个例子 抽取通用功能 让你的代码优雅起来`
    • 3.以公司需求写一个starter

    1.spring-booter-starer是什么

    Starter是Spring Boot中的一个非常重要的概念,Starter相当于模块,它能将模块所需的依赖整合起来并对模块内的Bean根据环境( 条件)进行自动配置。使用者只需要依赖相应功能的Starter,无需做过多的配置和依赖,Spring Boot就能自动扫描并加载相应的模块。
    总结:

    它整合了这个模块需要的依赖库;
    提供对模块的配置项给使用者、并可以对配置项提供默认值,使得使用者可以不指定配置时提供默认配置项值,也可以根据需要指定配置项值;
    提供自动配置类对模块内的Bean进行自动装配
    例如,在Maven的依赖中加入spring-boot-starter-web就能使项目支持Spring MVC,并且Spring Boot还为我们做了很多默认配置,无需再依赖spring-web、spring-webmvc等相关包及做相关配置就能够立即使用起来。

    官方提供的starter有50多种,见
    Spring Boot Reference Guide

    2 如何开始写一个starter

    idea创建项目 -> 这个就没什么好写的 就和普通的工程的一样。

    注意⚠️:

    在pom.xml里面尽量import最小的依赖 千万不要像做工程一样 什么spring-boot-web这种倒入。
    
    • 1

    2.1 resources下面创建META-INFO文件夹,创建spring.factories文件

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6sNPrJHy-1666268895161)(img.png)]

    org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
      com.chen.operationlogstarter.aspect.config.OperationLogAutoConfig
    
    • 1
    • 2

    2.2 配置好上面的Config Bean

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BRzd5EQs-1666268895163)(img_1.png)]

    @Configuration
    @ConditionalOnClass(OperationLogConfigProperties.class)
    @EnableConfigurationProperties(OperationLogConfigProperties.class)
    @ComponentScan(basePackages = {"com.chen.*"})
    public class OperationLogAutoConfig {
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.3 把项目打包

    mvn clean install -> 推送到远程仓库
    
    • 1

    2.4

    然后在你需要的项目里面引入坐标

            
                com.xxxx
                operationlog-sdk
                ${operation-log-sdk}
            
    
    • 1
    • 2
    • 3
    • 4
    • 5

    通过一个例子 抽取通用功能 让你的代码优雅起来`


    3.以公司需求写一个starter

    一个通用日志异步保存在数据库的starter。轻微配置就ok了

    operationLogStarter

  • 相关阅读:
    Linux【基本指令】
    iOS_NestedScrollView(嵌套ScrollView)
    warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
    谷歌自研 Tensor 芯片,8核CPU,20核GPU……
    Mac装机清理工具CleanMyMac2022最新版功能介绍
    机器学习(10)---特征选择
    用python的mako模板库写一个自动生成.c/.h文件generate_code功能
    SpringCloud学习笔记(四)
    手把手教你用 Milvus 和 Towhee 搭建一个 AI 聊天机器人
    OpenCV笔记整理【绘制图形文字】
  • 原文地址:https://blog.csdn.net/qq_40914968/article/details/127434526
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号