您好,登录后才能下订单哦!
本篇文章为大家展示了java中怎么创建一个springboot工程,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
可以选择用maven 还是 gradle 构建
无论哪种构建方式,对jar包的管理还是那三个坐标,groupId , artifactId,versionId ,插件也是基于这三个坐标。只不过两者管理的语法不同,再细节的我也没有研究了,gradle国内资料比较少,但有名的spring源码也用gradle构建了,所以喜欢折腾的朋友可以试试gradle。
springBoot版本
有SNAPSHOT的是快照版,功能可能不是很完善,一般选非SNAPSHOT的版本
项目坐标
如每个jar包都有三个坐标值一样,我们的项目日后也会打成jar包或者是war包,也需要同样的坐标的,group一般用做项目名(com.fenxiangtech.boot),artiface一般用做模块名(study),点开#5 还可以看到version选项,一般开发就用SNAPSHOT
项目依赖
以前用spring开发的同学都知道,为了一个功能要到处找依赖,然后复制dependency到pom.xml里面,springboot把一个功能依赖的jar包做了打包,只用一个依赖就可以解决问题,可以选常用的功能模块,如mybatis , redis , jdbc , web 等等
切换到完整模式
在完整模式下可以看到切换java版本等选项,推荐java 11 , 就跟着最新的学吧,这是一个长期支持的版本。以后肯定会切换到这个版本的。
一键生成
都选完之后,就可以一键生成一个简单的可运行程序。大家可以随便选了试一试
我们的初级扩展就是,一键生成一个可运行的程序,并运行起来!
小伙伴们如果还记得java故事之梦这篇文章的话,我们在里面有提及到建设者模式,现在我们一起起看看这个springboot的生成过程,是不是也很像建造者模式,先是各种配置,最后一个build生成搞定,所以我们的中级扩展就是用建造者模式模拟下springboot的一键生成
仔细想一想,各种配置有那么多的选项,这组合在一起可能性也太多了,那我们的导演类里面要写这么多种方法吗,所以应该不是纯建造者模式,如果换做是我们来做这个事情,我们会怎么做呢?找一个模板,把对应位置空出来,初始化几个Map , 把选的配置和要放到文件里面的代码对应起来,这样根据页面的选择来更改模板,定义一个原形出来,然后根据选择的配置修改,这样就不会有这么多的方法了,这是原形模式?
后来再一想,这其实就是一个生成文件而已,不用任何设计模式,直接写代码的话也就一个判断,然根据配置取值,生成文件,打包成zip,然后response返回,所以一个功能可以有很多种实现,有兴趣的小伙伴可以自己试一试
上面我们有说到过,springboot 帮忙把spring的依赖和配置简单化了,以前我们在spring中都是用的各种<bean>去注入,现在在springboot中只需要在 application.perporty中配置下就可以了,我们可以往深入想一下,springboot 是怎么做到的呢?
首先,依赖肯定是用maven/gradle帮忙管理的,所以starter项目应该也是一个maven/gradle的Springboot程序,在pom.xml把依赖都定义好,定义哪些?定义可以自动配置的,详情可以百度或自己实践,在小刀的公众号里面,从来没有可以直接复制能用的,抛砖引玉,还是希望大家能一起思考,这样才能有进步
然后就是配置类,定义前缀,给默认值等等,用 @ConfigurationProperties
有配置,有依赖,下面就要加载配置,初始化实例,准备工作了,很多我们在引用starter之后,没有配置bean,就可以直接用里面的功能了,就是这一步,starter里面帮我们装配好了bean 并实例化,所以我们才可以直接用
最后就是用 spring.factories
告诉spring , 哪些类要自动装配。思路如上,扩展就是自己实现一个Springboot 的 starter
上述内容就是java中怎么创建一个springboot工程,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。