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

优斗士网站建设app外包什么意思

优斗士网站建设,app外包什么意思,网络规划设计师考纲教材改版新旧对比,photoshop正版软件多少钱引言 在Spring Boot的世界中#xff0c;Starter 能够简化我们的开发过程#xff0c;通过封装常见的依赖和自动配置。本篇旨在为有志于进一步简化Spring Boot应用配置的开发者提供指导#xff0c;让我们一起创建一个自定义的Spring Boot Starter。 一、什么是 Spring Boot …引言 在Spring Boot的世界中Starter 能够简化我们的开发过程通过封装常见的依赖和自动配置。本篇旨在为有志于进一步简化Spring Boot应用配置的开发者提供指导让我们一起创建一个自定义的Spring Boot Starter。 一、什么是 Spring Boot Starter? Starter是Spring Boot中的一个核心概念它是一种依赖描述符用于简化Maven或Gradle项目中的依赖管理和自动配置。Starter通常包含一组预定义的依赖项和一个或多个自动配置类它们可以帮助开发人员快速启动和运行一个特定类型的应用程序。 Starter的工作原理如下 依赖管理Starter通过将常用库和框架组织在一起简化了项目的依赖声明。例如如果一个项目需要使用Spring MVC和Jackson JSON库只需添加spring-boot-starter-web依赖即可无需手动添加Spring MVC和其他相关依赖。自动配置Starter中的自动配置类会根据项目的依赖关系和属性设置自动应用最佳实践配置。这些自动配置类通常位于org.springframework.boot.autoconfigure包中。例如当添加spring-boot-starter-web依赖时Spring Boot会自动配置嵌入式Tomcat服务器和Spring MVC相关的组件。约定优于配置Starter遵循Spring Boot的核心原则之一即“约定优于配置”。这意味着除非明确指定否则默认配置将应用于项目。这有助于减少不必要的配置并使项目更易于维护。 Spring Boot如何使用Starter来简化项目配置 选择适当的Starter根据项目需求从Spring Boot提供的众多Starter中选择合适的依赖。例如对于Web应用程序可以添加spring-boot-starter-web对于数据访问可以添加spring-boot-starter-data-jpa等。添加依赖在项目的构建配置文件如pom.xml或build.gradle中添加所选Starter的依赖。自定义配置可选虽然Starter提供了许多默认配置但开发人员仍然可以根据需要自定义这些配置。这可以通过在项目的配置文件如application.properties或application.yml中覆盖默认值来实现。编写业务代码在Starter的帮助下开发人员可以将更多精力投入到业务代码的编写上而不是关注底层的配置细节。 二、自定义 Starter 的动机 特定领域的需求当你的项目或产品需要针对特定领域进行优化而现有的Starter无法满足这些需求时创建自定义Starter就变得很有必要。例如你的公司可能有一套特定的日志记录策略或者需要集成一个特殊的安全框架而这些都不是通用的Starter所能提供的。封装复杂性如果项目中有一些复杂的配置或组件集成而这些配置经常需要在多个项目中重复使用那么通过创建一个自定义Starter来封装这些复杂性可以避免在每个项目中重复相同的配置代码提高开发效率。促进代码复用在大型组织或企业中可能有多个团队在不同的项目中工作。如果这些项目有共同的技术栈或依赖需求创建一个自定义Starter可以帮助各个团队共享和复用代码减少重复劳动。遵循最佳实践有时候组织内部可能已经形成了一套开发最佳实践通过创建一个自定义Starter可以将这些最佳实践固化并自动应用到所有新项目中确保开发质量和一致性。提供更好的开发者体验自定义Starter可以为开发者提供更加友好的开发体验例如通过简化配置流程、提供清晰的文档和示例代码使得新加入项目的开发者能够更快地上手. 三、创建自定义 Starter 新建一个普通Maven项目yu-spring-boot-starter ① 编写启动器 ② 导入依赖 !-- 引入Spring Boot自动配置依赖 ,用于自动配置应用程序的各种组件和功能.自定义starter时必须要有 -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-autoconfigure/artifactId /dependency!-- 引入Spring Boot配置处理器,自定义starter时,调用方的配置文件中可以给出提示信息(如不引用,则不会提示,此包非必须) -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactId!-- 表示两个项目之间依赖不传递:不设置optional或者optional是false,表示传递依赖;当出现依赖冲突时候,会自动剔除该依赖- --optionaltrue/optional /dependency③ 添加属性类 如果你的Starter需要一些配置属性你可以创建一个属性类来绑定这些属性。创建一个新的Java类并使用ConfigurationProperties注解标记它为属性类。在该类中定义你需要的属性并提供相应的getter和setter方法。 /*** 将配置文件中以 yu 为前缀的属性值绑定到此Java类上* starter被引用时,会将驼峰命名的参数名称转化为全小写,并在原大写的前面添加-,* 如本类的userName属性,yu.user-name来进行展现*/ ConfigurationProperties(prefix yu) public class User {private String userName;private String userPassword;//省略get/set... } ④ 添加一个业务类 定义一个业务类编写核心业务流程 public class UserServiceImpl {Autowiredprivate User user;public String getUserInfo() {return user.getUserName() _ user.getUserPassword();} } ⑤ 自定义属性配置 需要创建一个自动配置类用于配置和初始化我们的Starter。创建一个新的Java类并使用Configuration注解标记它为配置类。 Configuration // 表示这个类为配置类 EnableConfigurationProperties(User.class) // 启用 User 类的配置属性 public class YuStarterAutoConfiguration {// 在这里定义你要注册的对象BeanConditionalOnClass(UserServiceImpl.class) // 只有当指定的类存在于类路径中时才会创建该方法返回的 Beanpublic UserServiceImpl serviceStarterTest() {return new UserServiceImpl();} }⑥ 添加需要自动配置的配置类信息 在resources编写一个自己的 META-INF\spring.factories # 自动配置,如果有多个配置则使用,\结尾的方式即可 org.springframework.boot.autoconfigure.EnableAutoConfiguration\ com.yu.config.YuStarterAutoConfiguration⑦ 编译打包 maven–clear–install即可 ⑧ 引用 新建一个SpringBoot 项目,导入我们自己写的启动器 dependencygroupIdcom.yu/groupIdartifactIdyu-spring-boot-starter/artifactIdversion1.0-SNAPSHOT/version /dependency编写一个 HelloController 进行测试我们自己的写的接口 RestController RequestMapping(test) public class UserTestController {Autowiredprivate UserServiceImpl userService;RequestMapping(starter)ResponseBodypublic String starter() {return userService.getUserInfo();} }编写配置文件 application.properties yu.user-namehttps://blog.csdn.net/m0 yu.user-password53127626启动项目进行测试结果成功 ! https://blog.csdn.net/m0_53127626四、总结 本文详细介绍如何自定义一个Spring Boot Starter。通过自定义Starter我们可以将一些通用的功能封装起来提高代码的复用性和可维护性。 希望本文对您有所帮助
http://www.pierceye.com/news/458479/

相关文章:

  • 推荐一个做照片书的网站湛江网站建设招聘
  • 厦门建网站网址ai自动设计logo
  • 蓝色织梦cms企业网站模板全站源码招聘类网站如何做
  • 郑州建设银行网站wordpress数据库怎么设置
  • 电子商务网站实例php网站建设哪家好
  • 网站开发课程报告心得简单的网页设计作品欣赏
  • 网站建设用什么系统华为弹性云做网站
  • 莱芜高端网站建设报价网站色彩策划
  • 房地产项目网站做网站互联网公司有哪些
  • 凡科做网站友情链接怎么做wordpress广告位设置
  • org已经备案的网站wap网站建设服务
  • 企业网站模板免费下载企业网站模板免费完整版的网站模板
  • 外贸网站建设公司价格怎样做触屏版手机网站
  • 南宁站建好就够用秦皇岛微信推广平台
  • 物流公司做网站有用吗河北省住房和城乡建设网站
  • 网站举报官网seo站长论坛
  • 建站工具有哪些论坛网站建设总体要求
  • 公司网页网站建设 pptwordpress php 采集
  • 遵义网站开发公司舟山网站建设企业
  • 外贸网站一站式服务招网站建设销售
  • 绚丽的网站wordpress进入后台显示500
  • 威海城乡与住房建设部网站小颜自助建站系统
  • 域名怎么解析到网站做响应式网站需要学哪些知识
  • wordpress手机端慢seoer是什么意思
  • wordpress添加站点江苏廉政建设网站
  • 网站seo是什么做二维码推送网站
  • win7 iis默认网站设置游戏推广员
  • 湖北二师网站建设排名潍坊专业捞泵电话
  • 个人网站设计内容和要求萍乡网站制作公司
  • 合肥网站seo费用怎么把文章导入wordpress