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

刚成立的公司怎样做自己网站设计师联盟网站

刚成立的公司怎样做自己网站,设计师联盟网站,木藕设计网站大全,工程项目管理软件免费版文章目录 关于 | About技术文档 | Document开源项目 | Project 案例 | Demo项目结构 | Structure主程序配置集成 | Settings引入框架依赖 | Framework在配置文件加入配置 | YamlSpringBoot启动类改引导类 | Change 插件配置集成 | Settings引入依赖 | XML定义插件引导类 | Clas… 文章目录 关于 | About技术文档 | Document开源项目 | Project 案例 | Demo项目结构 | Structure主程序配置集成 | Settings引入框架依赖 | Framework在配置文件加入配置 | YamlSpringBoot启动类改引导类 | Change 插件配置集成 | Settings引入依赖 | XML定义插件引导类 | Class配置Maven打包插件 | Maven 新增Controller接口API | API编译打包插件 | JAR启动测试 | Main Demo案例Git地址 | Gitee 工作项目中用到了这款插件式开发框架看了一下网上教程不多所以打算为大家普及一下这个技术框架写一些入门教程方便大家学习运用。 关于 | About “Spring-brick”是一个可以动态扩展系统的框架最早在2019年开始开发该框架可以在SpringBoot项目上开发插件功能开发插件就像开发独立应用一样。 这里的插件我们可以理解成一个独立的SpringBoot应用微服务等单体项目。 技术文档 | Document 文档如下https://www.yuque.com/starblues/spring-brick-3.0.0 开源项目 | Project 开源项目https://gitee.com/starblues/springboot-plugin-framework-parent.git 这个框架除了官方介绍的优点之外也有它的不足之处后文我会提出来。 该框架可以在spring-boot项目上开发出插件功能在插件中可以和spring-boot使用方式一模一样。使用了本框架您可以实现如下需求 在插件中您可以当成一个微型的spring-boot项目来开发简单易用。在插件中扩展出系统各种功能点用于系统灵活扩展再也不用使用分支来交付不同需求的项目了。在插件中可以集成各种框架及其各种spring-boot-xxx-starter。在插件中可以定义独立依赖包了再也不用在主程序中定义依赖包了。可以完美解决插件包与插件包、插件包与主程序因为同一框架的不同版本冲突问题了。各个插件可以定义同一依赖的不同版本框架。无需重启主程序可以自由实现插件包的动态安装部署来动态扩展系统的功能。插件也可以不依赖主程序独立集成微服务模块。您可以丰富想象该框架给您带来哪些迫切的需求和扩展以实现系统的低耦合、高内聚、可扩展的优点。 案例 | Demo 本次演示一个入门小案例让我带大家快速进入这个框架上手使用它。这个案例是我自己写的一个便于大家快速入门的案例不容易出现错误清晰明了的入门教程。 项目结构 | Structure 项目名称 springboot-plugin-framework-example-linghu ├─example-main │ │ pom.xml │ │ │ ├─src │ │ ├─main │ │ │ ├─java │ │ │ │ └─com │ │ │ │ └─linghu │ │ │ │ MainApp.java │ │ │ │ │ │ │ └─resources │ │ │ application.yml │ └─example-plugins-basic│ pom.xml│ ├─src│ ├─main│ │ ├─java│ │ │ └─com│ │ │ └─linghu│ │ │ ├─controller│ │ │ │ ExampleController.java│ │ │ │ ExamplePlugin.java│ │ │ │ │ │ │ └─plugin│ │ └─resources│ │ application.yml这个项目分为两个部分 主程序-example-main插件程序-example-plugins-basic 我们的目的是运行主程序然后执行插件程序里的业务这样我们就可以专注开发插件程序了可以不断根据业务的不同接入不同的插件程序而不用去动主程序的代码这就是我们说的 高内聚、低耦合、可扩展。 分好类以后我们开始接下来的具体工作。 我们的工作分为两个部分 主程序配置集成 | Settings插件配置集成 | Settings 主程序配置集成 | Settings 我们说了主程序实际上就是上面 example-main部分。 引入框架依赖 | Framework 引入框架依赖 dependencygroupIdcom.gitee.starblues/groupIdartifactIdspring-brick/artifactIdversion3.1.0/version/dependency具体主程序的pom文件配置如下 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.linghu/groupIdartifactIdspringboot-plugin-framework-example-linghu/artifactIdversion1.0-SNAPSHOT/version/parentartifactIdexample-main/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdcom.gitee.starblues/groupIdartifactIdspring-brick/artifactIdversion3.1.0/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency/dependencies /project在配置文件加入配置 | Yaml 这里的yaml文件配置主要是让将插件程序接入到主程序中 plugin:runMode: devmainPackage: com.linghupluginPath: # 这里集成了一个插件程序example-plugins-basic模块- ~\example-plugins-basic需要注意的是上面的 mainPackage表示主程序类的路径。pluginPath则是我们插件的相对路径地址。 - ~\example-plugins-basic中的 ~\表示相对路径地址 example-plugins-basic则是我们的插件名称。 完整的yml配置则是 server:port: 8080plugin:runMode: devmainPackage: com.linghupluginPath: # 这里集成了一个插件程序example-plugins-basic模块- ~\example-plugins-basic spring:mvc:pathmatch:matching-strategy: ant_path_matcher SpringBoot启动类改引导类 | Change 这个改动发生在主程序的启动类上 package com.linghu;import com.gitee.starblues.loader.launcher.SpringBootstrap; import com.gitee.starblues.loader.launcher.SpringMainBootstrap; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;/*** author linghu* date ${DATE} ${TIME}*/ SpringBootApplication public class MainApp implements SpringBootstrap {public static void main(String[] args) {// 该处使用 SpringMainBootstrap 引导启动SpringMainBootstrap.launch(MainApp.class, args);}Overridepublic void run(String[] args) throws Exception {// 在该实现方法中, 和 SpringBoot 使用方式一致SpringApplication.run(MainApp.class, args);}}这里为啥要这么改后续我会出文章解释剖析源码。 插件配置集成 | Settings 插件程序主要是指example-plugins-basic部分 引入依赖 | XML !-- spring-boot-starter依赖 -- !--建议将spring-boot-starter依赖放到第一个位置, 以防止出现依赖冲突导致无法启动插件-- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion${和主程序一致的springboot版本}/version /dependency!-- spring-brick-bootstrap依赖 -- dependencygroupIdcom.gitee.starblues/groupIdartifactIdspring-brick-bootstrap/artifactIdversion${latest.version}/version /dependency!-- 主程序依赖 -- !-- 将主程序以 provided 方式依赖到插件中 -- dependencygroupId主程序的 groupId/groupIdartifactId主程序的 artifactId/artifactIdversion主程序 version/versionscopeprovided/scope /dependency上面是个引入模版大家引入以后还要进行修改下面是我修改的我的完整依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdcom.linghu/groupIdartifactIdspringboot-plugin-framework-example-linghu/artifactIdversion1.0-SNAPSHOT/version/parentartifactIdexample-plugins-basic/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies!-- 插件配置集成--!-- spring-boot-starter依赖 --!--建议将spring-boot-starter依赖放到第一个位置, 以防止出现依赖冲突导致无法启动插件--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion2.7.9/version/dependency!--解决方案: 确保插件不包含spring-boot-starter-web依赖而是让主程序来加载这个依赖。这样主程序就可以管理所有的Spring Boot web依赖避免了重复。如果您使用的是Maven您可以在插件的pom.xml文件中移除对spring-boot-starter-web的依赖或者如果您在主程序的pom.xml中已经定义了这个依赖您可以在插件的pom.xml中添加exclusions元素来排除这个依赖。--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdexclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/exclusion/exclusions/dependency!-- spring-brick-bootstrap依赖 --dependencygroupIdcom.gitee.starblues/groupIdartifactIdspring-brick-bootstrap/artifactIdversion3.1.0/version/dependency!-- 主程序依赖 --!-- 将主程序以 provided 方式依赖到插件中 --dependencygroupIdcom.linghu/groupIdartifactIdexample-main/artifactIdversion1.0-SNAPSHOT/versionscopeprovided/scope/dependency/dependencies!-- 插件打包的配置--buildpluginsplugingroupIdcom.gitee.starblues/groupIdartifactIdspring-brick-maven-packager/artifactIdversion3.1.0/versionconfiguration!--当前打包模式为: 开发模式--modedev/mode!--插件信息定义--pluginInfo!--插件id--idexample-plugins-basic/id!--插件入口类, 定义说明见: 定义插件入口类--bootstrapClasscom.linghu.controller.ExamplePlugin/bootstrapClass!--插件版本号--version1.0.0-SNAPSHOT/version/pluginInfo/configurationexecutionsexecutiongoalsgoalrepackage/goal/goals/execution/executions/plugin/plugins/build /project定义插件引导类 | Class 这个引导类是加在插件里的主类里的不要搞错了。 package com.linghu.controller;import com.gitee.starblues.bootstrap.SpringPluginBootstrap; import org.springframework.boot.autoconfigure.SpringBootApplication;/*** author linghu* date 2024/3/15 9:55*/ SpringBootApplication public class ExamplePlugin extends SpringPluginBootstrap {public static void main(String[] args) {new ExamplePlugin().run(args);}} 定义插件main入口类, 继承SpringPluginBootstrap类, 然后在main函数中实例化当前引导类并执行run方法即可。 配置Maven打包插件 | Maven 其实这一步工作我已经在上面提到了也就是在引入依赖部分提供了。 !-- 插件打包的配置--buildpluginsplugingroupIdcom.gitee.starblues/groupIdartifactIdspring-brick-maven-packager/artifactIdversion3.1.0/versionconfiguration!--当前打包模式为: 开发模式--modedev/mode!--插件信息定义--pluginInfo!--插件id--idexample-plugins-basic/id!--插件入口类, 定义说明见: 定义插件入口类--bootstrapClasscom.linghu.controller.ExamplePlugin/bootstrapClass!--插件版本号--version1.0.0-SNAPSHOT/version/pluginInfo/configurationexecutionsexecutiongoalsgoalrepackage/goal/goals/execution/executions/plugin/plugins/build新增Controller接口API | API 其实这个接口我们就加在插件程序里就行了 package com.linghu.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** author linghu* date 2024/3/15 9:58*/RestController RequestMapping(/example) public class ExampleController {GetMappingpublic String hello(){return hello;} } 注意一下Controller位置放错了很容易导致后续Controller加载不到主程序的 编译打包插件 | JAR 这里打包有两种方法 插件使用maven命令mvn clean package进行编译通过Maven插件、先点击clean、在点击package 我用的第二种方法打包如图 打包完成以后观察target文件下会出现jar包 启动测试 | Main 这个测试是直接启动主程序的 启动主程序main, 日志中出现如下关键内容说明集成插件成功 如上我们还知道了如下信息那就是我们请求测试的接口地址为 http://127.0.0.1:8080/plugins/example-plugins-basic/ 打开浏览器访问 http://127.0.0.1:8080/plugins/example-plugins-basic/example出现下图说明访问接口测试成功。 Demo案例Git地址 | Gitee 这个教程属于入门级别的没有对源码原理展开讲解后续有时间会接着更的这里主要是教大家快速上手遇到不懂的欢迎评论区提出。 完整项目demo 《SpringBrick-springboot-plugin-framework-example-linghu》 项目下载以后记得要用Maven插件打一下jar包可以直接运行 mvn clean package进行编译~
http://www.zqtcl.cn/news/419642/

相关文章:

  • 推荐几个好的seo网站程序模板WordPress博客建站系统
  • 手机网站建设推广方案ppt模板wordpress文章阅读统计
  • 自己可以接单做网站吗建设项目所在地公共媒体网站
  • 哈尔滨网站制作哪儿好薇学校网站首页代码html
  • 网站建设与设计 毕业设计企业自助网站建设
  • ip库网站源码佛山网站开发公司
  • 婚庆网站怎么设计模板电子商务系统规划方案
  • 东莞中企动力做网站wordpress结合tornado
  • 用织梦做手机移动版网站邯郸网站建设品牌加盟
  • 网站做简历模板动漫设计专业就业方向
  • 沧州市东光建设局 网站电商网站目录优化
  • 公司网站建设案例教程wordpress word文档
  • 阿里巴巴网站本土化建设wordpress jquery
  • 用asp怎么做网站wordpress怎么查看主题
  • 用自己的电脑建网站兴义网站建设
  • 保定医疗网站建设公司wordpress 视频管理 主题
  • php做网站半成品网页设计作业怎么交
  • 郑州网站建设培训学校公众号投票怎么制作
  • 韩国设计交流网站网站设计网页配色
  • 线上设计师网站网络科技公司排名
  • 安徽建设厅网站网址品牌营销ppt
  • 用iis做的网站怎么更改端口南京汤山建设银行网站
  • 威海哪有网站建设十大网页制作工具
  • 上海专业网站建设公司合肥网站建站
  • 怎样将自己做的网站给别人看做平台网站一般有php还是js
  • 做企业网站一般要多少钱WordPress数据库搜索
  • wordpress建立好的网站app的开发流程是什么
  • 工作室网站WordPress文章图片采集插件
  • 青岛网站开发学校wordpress页面样板
  • 校级特色专业建设网站公司网站建设需要些什么要求