SpringBoot项目的几种创建方式,启动、和访问
最常用的4种方式,但除了这些以外,还有其他方式:
①在线创建
②STS构建
③Intell Idea内置构建工具
④Maven创建
STS官网:https://start.spring.io 。STS是Spring出的eclipse,是特殊版本的eclipse,对Spring Boot有很好的支持。
eclipse也可以用来开发SpringBoot项目,但是需要安装STS插件。
方式①:在线创建
官网主页,在Quick Start中,点击超链接“start spring.io”进入https://start.spring.io
选择Maven Project,Java,选择1.5.6 / 2.0.5 / 2.1.6某个版本的SpringBoot。
Group:填写groupId(项目包目录xx.xx.xx),Artifact:填写ArtifactId(项目名)
Dependencies选一些依赖的包,比如Web(web项目必选的的),JDBC、MySQL、Mybatis等。
点击“生成”,会弹出下载框,把按照刚才配置的包下载下来。将包导入eclipse等开发工具,即可使用。
*)生成的项目:
**)打开下载的包,其中的pom.xml中有:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
这里表示该项目继承了Spring的东西,项目里的累活、脏活都是它在做。“Ctrl+单击”这里,会进入这个继承的父pom文件,可以看到里面引入了很多的东西,这就是我们不用引入的原因,因为这里已经引入了。
starter是一个依赖描述符的集合。别人写好、封装好,我们自己直接拿来用即可。
Spring-boot-starter-web中自带Tomcat、SpringBoot。如果没有这个starter,我们就要回到以前的配置方式。
常用的starter,有很多官方提供的,也有民间的,可以从官网和GitHub中查看。
**)
生成的项目的resource文件目录是空的。
src/main/java中的底层文件夹里有一个Java文件,Application.java,含main方法。此时的项目是可以运行的,运行这个Java文件即可。
把这个包导入到开发工具中,能看到进度条开始download jar包,都是刚才配置项目时对应版本的jar。
导入完成之后,右击→Run As JavaApplication,可看到控制台上打印spring的logo(字符拼接的)。此外,还有Run As SpringBootApplication 选项,开发工具可以识别到该项目时SpringBoot项目。
启动时,可以从控制台发现SpringBoot项目的打印信息是彩色的。
在浏览器中,输入http://localhost:8080 (端口在pom中有配,也可以修改配置。也可以从刚才的console打印信息中看到Tomcat port 8080)。可以看到页面“Whitelabel Error Page”
**)SpringBoot 项目部署方式:
package命令打成jar包,在target路径下运行:Java -jar xx.jar
运行完之后,可以在浏览器中测试。
这种方式的优点:方便部署。不需要配Tomcat,这个jar中已经包含了Tomcat,将生成的jar扔到服务器上,运行jar即可。
**)Application.java:
@SpringBootApplicaiton表示程序的入口。他相当于一下3个注解:
@Configuration 表示不写XML,基于Java配置
@ComponentScan 自动扫描,写法:@ComponentScan(basePackages= {"com.example"})
@EnableAutoConfiguration 扫描pom.xml中的starter,自动产生配置。比如pom中有spring-boot-starter-web,就知道这是web项目,所以,自动加入了Tomcat和springMVC
方式②:STS创建
右键→New→Project→Spring→SpringStarterProject→Next,配置页面中扔有serviceURL:http://start.spring.io 说明仍是通过Spring网站构建的(在没有网的情况下无法构建项目)。配置内容与刚才网站上的内容一样,只是展现方式不同。最后生成一个zip包,在eclipse/STS/Idea等开发工具中打开。
这和方法①中的,去网站上打个压缩包,导入到STS中打开,生成的项目一模一样。
方式③:Intell Idea内置构建工具
启动Idea,对“Loading Project”点取消(启动idea时弹出的框)
选Spring Initilizer类型,创建,和STS一个道理,弹框中会选一个Default:https://start.spring.io(是idea默认的),说明这里也是通过网站构建的
Description可以不要,删去值。
package写到com.企业名 即可(也可以用默认的)
Artifact:spring-boot(项目名),项目名中含Boot、SpringBoot等字样不让保存,所以项目名叫demo,→next→选只选web(勾选上),→Next→起文件夹名叫SpringBoot,Project Name也叫SpringBoot,这样项目名就改成SpringBoot了。
方式④:Maven构建
对比前3种,这种方式反而成了最麻烦的了。纯手工作业。
先创建一个maven项目。然后:
继承SpringBoot的POM文件:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
然后,添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
然后,添加插件:需要什么就添加什么
<plugins>
<plugin>
<groupId>xxx</groupId>
<artifactId>xxx</artifactId>
</plugin>
</plugins>
到此,SpringBoot项目创建好了。
SpringBoot项目的几种创建方式,启动、和访问的更多相关文章
- Tomcat 部署项目的几种常见方式
转自:https://www.cnblogs.com/yuht/p/5714624.html https://www.cnblogs.com/ysocean/p/6893446.html Tomcat ...
- 2019年6月14日 Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)
摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端传输数据编码格式contentType 批量插入数据和自定义分页器 一.MVC与MTV MVC(Model View Controller ...
- Django-多对多关系的三种创建方式-forms组件使用-cookie与session-08
目录 表模型类多对多关系的三种创建方式 django forms 组件 登录功能手写推理过程 整段代码可以放过来 forms 组件使用 forms 后端定义规则并校验结果 forms 前端渲染标签组件 ...
- Springboot项目 配置数据库连接属性后,启动项目报错
Springboot项目 配置数据库连接属性后,启动项目报错,错误如下: 错误原因分析: 1.连接信息配置错误 当使用properties为配置文件时,如图所示,上面的 spring.datasour ...
- 面向面试编程——javascript对象的几种创建方式
javascript对象的几种创建方式 总共有以下几个模式: 1.工厂模式 2.构造函数模式 3.原型模式 4.混合构造函数和原型模式 5.动态原型模式 6.寄生构造函数模式 7.稳妥构造函数模式 1 ...
- 【转载】 Java中String类型的两种创建方式
本文转载自 https://www.cnblogs.com/fguozhu/articles/2661055.html Java中String是一个特殊的包装类数据有两种创建形式: String s ...
- 精读JavaScript模式(四),数组,对象与函数的几种创建方式
一.前言 放了个元旦,休息了三天,加上春运抢票一系列事情的冲击,我感觉我的心已经飞了.确实应该收收心,之前计划的学习任务也严重脱节了:我恨不得打死我自己. 在上篇博客中,笔记记录到了关于构造函数方面的 ...
- Struts2之命名空间与Action的三种创建方式
看到上面的标题,相信大家已经知道我们接下来要探讨的知识了,一共两点:1.package命名空间设置:2.三种Action的创建方式.下面我们开始本篇的内容: 首先我们聊一聊命名空间的知识,namesp ...
- JavaScript 闭包的详细分享(三种创建方式)(附小实例)
JavaScript闭包的详细理解 一.原理:闭包函数--指有权访问私有函数里面的变量和对象还有方法等:通俗的讲就是突破私有函数的作用域,让函数外面能够使用函数里面的变量及方法. 1.第一种创建方式 ...
随机推荐
- P1550打井
这是USACO2008年的一道最小生成树题,感谢dzj老师那天教的图论. 要引渠让每一个村庄都可以接到水,然后从某一个村庄到另一个村庄修剪水道要花费w元,并且还要打井(至少一个)(而输入数据也包括了在 ...
- c++ try_throw_catch异常处理
参考https://www.cnblogs.com/xiaojianliu/articles/8900795.html 在程序设计时,针对不同的异常情况,预先设定异常信息,在程序运行时,根据异常提示信 ...
- php开发环境推荐使用
万丈高楼平地起,好用得环境才能建立宏伟大厦,php开发环境推荐使用 1,自己安装 lamp 环境 linux+apache+mysql+php 2,自己安装 lnmp 环境 linux+nginx+m ...
- 一遍记住 8 种排序算法与 Java 代码实现
☞ 程序员进阶必备资源免费送「21种技术方向!」 ☜ 作者:KaelQ, www.jianshu.com/p/5e171281a387 1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经 ...
- java线程捕获异常
java多线程程序中,所有线程都不允许抛出未捕获的checked exception(比如sleep时的InterruptedException),也就是说各个线程需要自己把自己的checked ex ...
- LeetCode 338. 比特位计数
338. 比特位计数 题目描述 给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例 示例 1: 输入: 2 输出 ...
- Vue进行路由跳转的几种方式
1.<router-link to="需要跳转到页面的路径"> 2.this.$router.push()跳转到指定的url,并在history中添加记录,点击回退返回 ...
- h5与app混合开发,jsbridge
https://juejin.im/post/5bda6f276fb9a0226d18931f https://juejin.im/post/5abca877f265da238155b6bc http ...
- 绑定异常pom
绑定:. <build> <resources> <resource> <directory>src/main/resources</direct ...
- Delphi 字符型数据