当前位置: 首页 > news >正文

欧美做暖网站百度官方营销推广平台

欧美做暖网站,百度官方营销推广平台,php网站有哪些,网站降权如何百度申诉为什么要开发专用的Spring Boot Starter Spring在通常使用时,一般是通过pom.xml文件中引入相关的jar包,然后再通过application.yml文件配置初始化bean的配置,但随着项目越来越复杂或是项目组中的应用数量越来越多,可能会带来几个…

为什么要开发专用的Spring Boot Starter

Spring在通常使用时,一般是通过pom.xml文件中引入相关的jar包,然后再通过application.yml文件配置初始化bean的配置,但随着项目越来越复杂或是项目组中的应用数量越来越多,可能会带来几个问题:

  1. jar包依赖越来越多;
  2. 同一jar包的版本在不同的应用中可能不一样,甚至会发生冲突依赖;
  3. 自定义的配置没有相应的文档辅助,导致很多配置无从查找,进而可能会出现应用中重复开发;
  4. 最终,导致项目组中技术基线不统一,而且在很长一段时间内很难统一;
    在这里插入图片描述
    上述问题的解决方案有两种,一是定义一个通用的pom.xml,但公用的pom.xml也存在维护等问题,另一个问题是基础的pom.xml只是一个maven依赖配置,无法携带公用的java代码。
    在这里插入图片描述

所以最好的解决文案就是采用自定义的starter。
在这里插入图片描述

开发步骤

1. 新建Maven项目,在项目的POM文件中定义使用的依赖;
2. 新建配置类,写好配置项和默认的配置值,指明配置项前缀;
4. 新建自动装配类,使用@Configuration@Bean来进行自动装配;
5. 新建spring.factories文件,指定Starter的自动装配类;

自定义的 Spring Boot Starter实现

自定义的Spring Boot Starter就是一个普通的spring项目,下面就一步步来实现。
在这里插入图片描述

创建工程

创建一个springboot类型的模块。如下图所示,一路默认即可:
在这里插入图片描述

pom.xml依赖

这里的pom.xml依赖没有太严格的要求,就是按需引入,比如你在自定义的starter中实现了一些功能,比如jdbc操作mysql功能,那么是肯定要引入mysql-driver.jar驱动包的,因为这样才能做到版本统一管理,

但统一建议添加<optional>true</optional>不传递。这样防止多层依赖时冲突的发生。如下:

  • Starter 命名规则,即artifactId命名规则:Spring 官方定义的 Starter 通常命名遵循的格式为 spring-boot-starter-{name},例如 spring-boot-starter-data-mongodb。Spring 官方建议,非官方 Starter 命名应遵循 {name}-spring-boot-starter 的格式,例如,myjson-spring-boot-starter。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!-- starter坐标 --><groupId>com.korgs</groupId><artifactId>korgs-framework-spring-boot-starter</artifactId><name>framework-springboot-starter</name><version>1.0-SNAPSHOT</version><packaging>jar</packaging><!--编译版本,这个一定要指定 --><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><!-- 功能依赖,scope按需添加,但注意添加optional=true,不强制但建议 --><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>3.2.4</version><scope>compile</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><version>3.2.4</version><scope>annotationProcessor</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version><scope>annotationProcessor</scope><optional>true</optional></dependency></dependencies></project>

AppConfig自定义配置类实现

这个示例中,只是为了演示,如何在application.yml文件中添加自定义的配置,因为自定义的starter除了做maven管理外,另一个主要目的就是实现一些基础的功能(可配置)。

package com.korgs.framework.starter;import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;@Slf4j
@Configuration
@Data
@ConfigurationProperties(prefix = "framework.config")
public class AppConfig {String appRegisterName;/*可以通过这种方式实现一次功能上的扩展,总之是和正常的项目开发没太大区别*//*@Beanpublic AppServer appServer(){return  new AppServer(appRegisterName);}*/
}

spring.factories配置

src/resources/META-INF/目录下新建一个名为spring.factories的文件,META-INF这个目录需要手动创建一下,添加以下内容:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.korgs.framework.starter.AppConfig

spring.factories文件的作用是,springboot启动时会扫描jar下的spring.factories文件,如果发现了就根据配置内容执行相应的初始化工作。

工程打包

最后运行 mvn -clear install安装在本地maven缓存中,测试好了之后可以发布到公司的maven私服上面。
在这里插入图片描述

测试自定义的 Spring Boot Starter

再新建一个springboot工程,然后引入上面的自定义starter包。比如:

        <dependency><groupId>com.korgs</groupId><artifactId>korgs-framework-spring-boot-starter</artifactId><version>1.0-SNAPSHOT</version></dependency>

application.properties配置

这时在application.properties中配置时,如果是idea就会有提示功能(但这并不是最重要的):
在这里插入图片描述

AppConfig配置类测试

其实上面自定义的starter就是一个普通的配置类,和本模块中代码实现一样,比如:
在这里插入图片描述

http://www.yidumall.com/news/62672.html

相关文章:

  • 微餐饮网站建设官网网站排名靠前
  • 在哪里找个人做网站的网站代运营价格
  • 如何提交网站连接到百度抖音推广佣金平台
  • 通过照片街景识别的地图防疫优化措施
  • 北京企业建站青岛seo推广公司
  • 网站开发 费用重庆seo多少钱
  • flash交互网站页面切换制作软文推广300字
  • 网站给挂黑链湖南网站排名
  • 制作网站教学免费网络推广平台有哪些
  • 网站模板后台怎么做百度推广平台登陆
  • 网站定制开发一般多久关键词推广优化排名品牌
  • 专用车网站建设哪家专业百度有哪些app产品
  • 定制型和模板型网站百度客服怎么转人工
  • 爱站官网百度指数查询移民
  • 宝坻做网站国家职业技能培训官网
  • 网站内容包括百度一下百度
  • 个人网站做电商网站推广常用的方法
  • 山东省住房和城乡建设厅二建查询广州seo优化
  • 超酷的网站设计网页制作
  • 广州建委网站全国互联网营销大赛官网
  • 专业建设网站制作深圳搜狗seo
  • 附近网站建设公司营销策划案
  • wordpress会员制网站英文站友情链接去哪里查
  • 承接设计网站建设班级优化大师使用指南
  • 泉州厦门网站建设公司西安网站快速排名提升
  • 网站建设的课程设计智慧软文发稿平台官网
  • 教人做甜点的网站外包公司是正规公司吗
  • 北京网站建设网站开发福建seo外包
  • 长宁专业网站制作公司百度广告投放技巧
  • 华为云服务器怎么做网站qianhu微建站