helloworld:按照惯例,第一篇写如何创建与运行一个helloworld的示例。
摘要:用idea创建SpringBoot入门项目,maven、gradle构建,打包,运行讲解。
目录
1、新建项目时,不再选maven,选gradle-groovy,其他一样。
6、运行jar包。所有jar运行是一样的:java -jar xxx.jar
一、前言:
虽然说是入门篇,但是也需要有一定java基础。本文假设读者已经自己安装了JDK8,IDEA,并具备基础的java知识。
1、JDK8安装
windows参考:JAVA安装教程 (windows) - 个人文章 - SegmentFault 思否
linux:自行百度。如果是新手的话,可以暂时先不考虑学习inux版安装。后面我也会介绍docker的部署,直接跟着操作吧。
2、IDEA安装
官网下载并安装:Download IntelliJ IDEA – The Leading Java and Kotlin IDE (jetbrains.com)
自行百度如何IntelliJ IDEA的安装和使用教材。
3、JAVA基础
基础语法,面象对象,数据结构、ArrayList\HashMap等,自行百度。
JAVA安装与环境配置。
重点:如果你能运行java、javac命令,就可以了。
二、maven项目-hellowold
1、maven安装,自行百度吧。
重点:CMD命令中,能执行mvn命令,就可以了。
淘宝镜像配置,在maven的conf/settings.xml中<mirrors></mirrors>节点增加配置:
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
本地maven仓库默认是C:当前用户文件夹下载,如果想改,可以在maven的conf/settings.xml中<settings></settings>节点增加配置:
<localRepository>D:\maven\maven-repository</localRepository>
2、IEDA中用maven构建Springboot项目
1)new Project,选Spring Initializr构建。
Server URL如果不通,可以换start.aliyun.com
2)勾选需要的插件。这里是示例,勾选一个WEB就行了。
3)点击Create以后,等待IDEA完成初始化
4)项目运行。选中项目,XXXApplication文件启动。
5)启动后,未报错,看到Started XXXApplication in 1.xx seconds就成功了
6)试着写一个helloWorld.创建一个Hello.java文件,并重新运行项目。
@RestController
@RequestMapping("/hello")
public class Hello {
@GetMapping("/hi")
public String hi(){
return "hello,Java";
}
}
暂时先不用管上面的代码具体意义,后面会单独来介绍,大概是说开了一个/hello/hi的GET接口,完整图如下:
然后,我们用浏览器 打开网址:http://localhost:8080/helllo/hi.就可以看到helloWorld了。
3、maven文件结构
这里只说重要的,src是源码,resource下面存放静态资源和springboot配置文件。重点是pom.xml文件,它是maven包的管理文件。
pom.xml文件中dependency就是一个个的包插件。
4、maven打包。mvn package
maven打包,可以用命令行打包,也可以在IDEA里用工具打包。用工具如下:打包以后,在target文件夹下会多了一些文件。其中xxx.jar的文件是我们要的jar包。
用命令打包也是可以的,在项目文件夹CMD:mvn package。如下:
完成后会看到BUILD SUCCESSP字样。
注:package = clean + compile.
5、运行jar包。java -jar XXX.jar
常见用法:java -jar base-0.0.1.jar --spring.profiles.active=prod 。
本文示例,不需要参数启动,java -jar xxx.jar即可。
注:IDEA如果已经运行了项目,会报端口被用错误,要先停止IDEA中的项目,再手动启动。
执行时带参数参考:jar运行参数传递方式_51CTO博客_java -jar 传入参数
所以,如果没有IEDA工具,也可以用命令编译和执行的,写代码可以用记事本就行了!
6、maven安装依赖
安装依赖,直接在pom.xml中增加相应的dependcies描述就行了。
首先,根据maven的配置,一般都会支持mvn官方中央仓、淘宝镜像仓(需要自己配置)。那我们就可以登陆其相应的网站去搜索,然后复制下来就行了。
以mvn官方中央仓搜索log4j为例,打开如下网址:
Maven Repository: log4j (mvnrepository.com)https://mvnrepository.com/search?q=log4j我们找一个star数高的点击进去。
然后,就可以看到 具体的depencies的信息了,复制下来帖到pom.xml中就行了。
三、gradle项目-hellowold
现在java基本上都用maven构建,已经成了java开发事实上的标准。但是,在 Spring Boot 2.3.0.M1 中,SpringBoot首次使用 Gradle 代替 Maven 来构建 Spring Boot 项目。
通过诸多码友们的反馈,Gradle在编译性能上远超出了maven。
本文介绍一下两者的主要构建项目区别。
1、新建项目时,不再选maven,选gradle-groovy,其他一样。
2、与maven项目对比,就是包的管理文件不同,其他一样。
maven因为是单独安装,所以mvn是全局配置中生效了。gradlew相当于mvn执行命令。
build.gradlw里是包的插件配置文件,和maven的pom.xml效率一样,语法更简洁。截图:
上图中,红框中的dependencies都是描述的包的插件,其他的先不用管。
3、依赖的安装区别
让我们还是以log4j依赖的配置为例,还是到mvn官方中央仓搜索log4j,前面的操作和maven是一样的,最后一步贴dependencies时,切换到gradle就行了,见图:
4、镜像仓库的配置
在build.gradle文件,修改配置即可。以添加aliyun镜像为例:
repositories {
mavenLocal()
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/spring' }
maven { url 'https://maven.aliyun.com/repository/spring-plugin' }
maven { url 'https://repo.spring.io/release' }
mavenCentral()
}
5、maven和gradle项目是可以轻松转换的。
maven和gradle项目是可以相互转换的,因为除了包的管理文件不同,src是完全一样的。所以,可以实现轻松的转换。就是把pom.xml文件的配置转换到build.gradle中去即可。
6、gradle打包。 gradlew build
利用IDEA打包,见图
CMD命令打包,在项目文件夹下:gradlew build
打包完成后,都会在build/lib文件夹下生在jar包。
7、运行jar包。所有jar运行是一样的:java -jar xxx.jar
四、结尾
运行springboot项目,必须要安装JDK。
如果用maven构建,需要单独安装maven并进行配置。
构建方式有很多,除了idea里构建,还可以去springBoot官网下载初始化包导入到idea中运行。但是一般用idea会更方便。
maven和gradle都是很流行的构建工具,选哪一个都可以。
maven的介绍,网上相对会更多一些,如果新手建议用maven构建。我因为更加在意编译效率问题,所以后面都将采用gradle构建。希望读者在看到依赖描述时,自己转换成maven的信息。
采用gradle构建的项目,在开发时常用命令如下:
run的命令:gradlew bootrun
build的命令:gradlew build
build以后,会在./build/libs下目录生成jar包。
采用maven构建的项目,在开发时常用命令如下:
run的命令: mvn spring-boot:run
打包命令: mvn package(等于mvn clean + mvn build)
jar部署:将jar丢到服务器去运行即可。
运行命令:java -jar XXXX.jar
maven库的镜像,除了aliyun以外,这个也不错:Maven Centralhttps://central.sonatype.com/