创建SpringBoot项目方式一

(1)新建maven项目,不使用骨架。

使用maven管理依赖就行了,不必使用骨架(模板)。

(2)在pom.xml中添加

    <!--springboot核心、基础的起步依赖,所有springboot项目都需要继承-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
</parent> <dependencies>
<!-- web项目的起步依赖。不设置版本,由<paren>统一管理版本 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependencies>

其实<parent>中的依赖换成spring-boot-starter也可以。

(3)新建包com.chy.controller,包下新建TestController

@RestController  //相当于@Controller+@ResponseBody,也可以用@Controller,然后在业务方法上标注@ResponseBody
public class TestController { @RequestMapping("/handler")
ublic String handler(){
return "ok";
} }

@ResponseBody会自动将返回的基本类型、List、Map、pojo等类型转换为json对象、json数组,传给浏览器。

(4)在resource下新建springboot的配置文件appliction.properties

#配置url中的项目名
server.servlet.context-path=/springboot

(5)com.chy下新建类App,里面写一个main方法,标注为springboot的引导类

@SpringBootApplication  //标识为springboot的引导类
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class); //传入自身的class对象
}
}

引导类必须要有main方法。

启动springboot项目时,会自动扫描与引导类的整个父包。

也可以手动配置包扫描:

//如果要扫描多个包,写成字符串数组  @ComponentScan({"com.chy.controller","com.chy.service"})
@ComponentScan("com.chy.controller")
public class App{ public static void main(String[] args) {
SpringApplication.run(App.class);
} }

因为后续还要使用自动配置,比如读取application.properties中的数据库连接信息构建数据源,所以还需要标识@EnableAutoConfiguration。

@SpringBootApplication 本身就包含了包扫描、自动配置这2个注解的功能。

(6)点击引导类左边的绿色三角形运行,控制台打印springboot的标志,并看到已经把项目部署到内置的tomcat中

/springboot是我们在springboot配置文件中配置的url中的项目名,配置了会自动部署到指定的项目中;如果不配置,默认为空串,直接部署到域名下。

(7)浏览器地址栏输入 http://localhost:8080/springboot/handler ,显示“ok”。

如果未在springboot配置文件中配置项目名,则直接在域名下 http://localhost:8080/handler 。


创建SpringBoot项目方式二

新建项目

原本web项目只能打包为war,不能打包为jar。

springboot的web项目既可以打包为jar,也可以打包为war,默认打包为jar。

勾选Web -> Spring Web。其它根据需要勾选。

在此处可以选择springboot的版本,如果此处没有公司要求的springboot版本,创建之后到pom.xml中的<parent>修改sringboot版本

IDEA已经在pom.xml中导入了所需的依赖,并自动生成了一些文件、包、类。

如果看不顺眼,可以将其它4个删掉,留下.iml、pom.xml即可。


springboot项目可以打包为war、jar,因为有引导类(主类),所以打包为jar也可以运行。

jar包中包含了项目所有的东西,包括依赖,直接运行jar包即可启动项目。

使用maven打包为jar:

mvn clean package   #clean是清除之前编译产生的文件,默认打包之前会进行单元测试

mvn clean package -Dmaven.test.skip=true   #跳过单元测试

执行jar:

java -jar xxx.jar   #需配置jdk环境

SpringBoot 入门demo的更多相关文章

  1. SpringBoot 入门 Demo

    SpringBoot   入门 Demo Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从 ...

  2. SpringBoot入门Demo

    前言:相信做java后台编程的童鞋都知道Spring家族,Spring作为我们项目中必备的框架.JavaSpringBoot号称javaEE的颠覆者,这引起了本Y的好奇,这才花费了一点时间,学习了下s ...

  3. SpringBoot入门Demo(Hello Word Boot)

    Spring Boot 是由Pivotal团队提供的全新框架,其设计目的是用来简化新的Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. ...

  4. SpringBoot入门示例

    SpringBoot入门Demo SpringBoot可以说是Spring的简化版.配置简单.使用方便.主要有以下几种特点: 创建独立的Spring应用程序 嵌入的Tomcat,无需部署WAR文件 简 ...

  5. 基于springboot构建dubbo的入门demo

    之前记录了构建dubbo入门demo所需的环境以及基于普通maven项目构建dubbo的入门案例,今天记录在这些的基础上基于springboot来构建dubbo的入门demo:众所周知,springb ...

  6. springboot + kafka 入门实例 入门demo

    springboot + kafka 入门实例 入门demo 版本说明 springboot版本:2.3.3.RELEASE kakfa服务端版本:kafka_2.12-2.6.0.tgz zooke ...

  7. springboot + mybatisPlus 入门实例 入门demo

    springboot + mybatisPlus 入门实例 入门demo 使用mybatisPlus的优势 集成mybatisplus后,简单的CRUD就不用写了,如果没有特别的sql,就可以不用ma ...

  8. Springboot 入门及Demo

    一:SpringBoot入门1.1:SpringBoot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的 ...

  9. SpringBoot入门基础

    目录 SpringBoot入门 (一) HelloWorld. 2 一 什么是springboot 1 二 入门实例... 1 SpringBoot入门 (二) 属性文件读取... 16 一 自定义属 ...

随机推荐

  1. Golang核心编程

    源码地址: https://github.com/mikeygithub/GoCode 第1章 1Golang 的学习方向 Go 语言,我们可以简单的写成 Golang 1.2Golang 的应用领域 ...

  2. Possible overdraw: Root element paints background @drawable/happy with a theme that also paints a background (inferred theme is @style/AppTheme)

    安卓界面插入背景图片,当图片内存太大时,界面在切换时会加载失败,这是什么原因呢?这是设置android:background属性时发出的warning: Possible overdraw: Root ...

  3. 【PAT甲级】1057 Stack (30 分)(分块)

    题意: 输入一个正整数N(<=1e5),接着输入N行字符串,模拟栈的操作,非入栈操作时输出中位数.(总数为偶数时输入偏小的) trick: 分块操作节约时间 AAAAAccepted code: ...

  4. jenkins windows 2.204版,免安装,推荐插件齐备.

    windows专用,已安装好推荐插件, 更新了安装源为清华源,也就是说只要官方的插件,你都可以秒速下载了.香不? 解压到一个文件夹,管理员模式运行cmdcd 文件夹名jenkins install这样 ...

  5. Python之字符

    关于字符的常用操作:(字符为不可变长度的类型,故不能“增”.“删”等改变长度的操作) 1.改:改变字符串中的某个值.但为浅改变: name = "Python3.5" print( ...

  6. 设计模式课程 设计模式精讲 3-10 里氏替换原则coding

    1 代码演练 1.1 继承关系判别(是否是真正意义的继承) 1.2 入参控制 1.3 出参控制 1 代码演练 1.1 继承关系判别(是否是真正意义的继承)(其实我觉得这个例子有点牵强) 1.1.1 反 ...

  7. 数字反转(0)<P2011_1>

    数字反转  (reverse.cpp/c/pas) [问题描述] 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形 式,即除非给定的原数为零,否则反转后得到的新数的最高位数 ...

  8. Win32 开发记录

    Typedefs LPCSTR = char* LPCWSTR = wchar_t* Webpages Control reference: https://docs.microsoft.com/en ...

  9. linux--用户管理--useradd

    用户分类 1 root 超级管理员 2 系统用户 就是 某一个服务中 自动产生的用户 不是认为创建的,不能用于登录计算机 只是保证某一个服务的正常运行 比如数据库 3 普通用户 用户必须属于一个且只有 ...

  10. Python爬取51job实例

    用Python爬取51job里面python相关职业.工作地址和薪资. 51job上的信息 程序代码 from bs4 import BeautifulSoup from urllib.request ...