第一个Spring Boot项目 (详细)

该博客主要借鉴了狂神发在微信的博客,按照他上课的步骤细化的

什么是Springboot

一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置, you can “just run”,能迅速的开发web应用,几行代码开发一个http接口

所有的技术框架的发展似乎都遵循了一条主线规律:从一个复杂应用场景 衍生 一种规范框架,人们只需要进行各种配置而不需要自己去实现它,这时候强大的配置功能成了优点;发展到一定程度之后,人们根据实际生产应用情况,选取其中实用功能和设计精华,重构出一些轻量级的框架;之后为了提高开发效率,嫌弃原先的各类配置过于麻烦,于是开始提倡“约定大于配置”,进而衍生出一些一站式的解决方案。

是的这就是Java企业级应用->J2EE->spring->springboot的过程。

Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。Spring Boot 以约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用

简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架

Spring Boot的主要优点:

  • 为所有Spring开发者更快的入门
  • 开箱即用,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML配置的要求

第一个Springboot程序

项目结构分析

程序主入口:java / BuildFromIdeaApplication (运行它就是启动项目)

核心配置文件:resources / application.properties

单元测试:test / BuildFromIdeaApplicationTests

分析 :pom.xml

<dependencies>
    <!-- web场景启动器 :集成tomcat、dispatcherServlet、xml.....-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
	<!-- springboot单元测试 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>${spring-boot.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
              <!-- 打包插件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.3.7.RELEASE</version>
            <configuration>
                <mainClass>com.tesla.BuildFromIdeaApplication</mainClass>
            </configuration>
            <executions>
                <execution>
                    <id>repackage</id>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
  • 所有springboot 依赖 都使用的开头:spring-boot-starter

方式一:利用官网创建项目

1、springboot 首页底部 选择 spring initialzr

在这里插入图片描述

  • 选择springboot 版本 带有GA( 通用稳定)
  • springboot 标签带有snapshot (快照 )不建议使用

2、配置创建项目

  • java版本:我的jdk是1.8 所以选择 8
  • 打包方式 : 默认jar包

在这里插入图片描述

  • 添加依赖:spring web

在这里插入图片描述

  • 选择generate 下载

3、下载到自定义的路径 —》解压

4、打开IDEA,File —》 close project —》 回到欢迎首页 —》选择 import project

在这里插入图片描述

5、等待依赖下载完成,并删除删除 help.md 、 .gitignore 、 mvnw 、 mvnw.cmd 文件(在项目名文件下)让他看起来更像一个maven项目,其实不删也可以

在这里插入图片描述

在这里插入图片描述

6、找到程序主入口,并在其同级目录下建包

在这里插入图片描述

7、编写controller 测试代码运行

@RestController
public class MyController {
    @RequestMapping("/hello")
    public String firstFromWebsite(){
        return "hello,spring boot!";
    }
}

方式二:使用IDEA 创建项目

IDEA 实际上集成了官网

准备工作

  • JDK :1.8.0_192
  • Maven:3.8.2
  • Springboots:2.6.1 (带有GA 的最新版)

开发工具:

IDEA

开始创建

1、打开IDEA file —》 new project —》 Spring Initialzr —》custom:https://start.aliyun.com/ (这里选择阿里的镜像,否则直接连官网会下载得很慢!!!)

在这里插入图片描述

2、自定义 artifact 和 name 、description等,package的值最好就设置为二级包名即可 (狂神的建议)

我的JDK是1.8 的,所以java version选择 8

注意:

artifact 只能用小写字母表示,出现大写字母会报错

在这里插入图片描述

3、添加 spring web 依赖

  • 也可以后期在 pom. xml 中导入 spring-boot-starter-web 依赖

在这里插入图片描述

4、删除 help.md 、 .gitignore 、 mvnw 、 mvnw.cmd 文件(在项目名文件下)让他看起来更像一个maven项目,其实不删也可以

5、创建controller 并编写

@Controller
@RequestMapping("/h")
public class MyController {
    @GetMapping("/hello")
    @ResponseBody
    public String buildFromIdea(){
        return "hello! springboot";
    }
}

6、启动 BuildFromIdeaApplication,并成功运行

在浏览器输入localhost:8080/h/hello ,得到输出

修改Tomcat 端口

  • 在 resources 下 application.properties
#修改端口号
server.port=8081

启动项目,在控制台查看修改成功

自定义Banner

  • 在 resources 目录下新建 banner.txt(注意查看 txt 文件上有标志:表示已被识别到)

  • 加入之后重启

  • 运行项目,在控制台查看修改成功

在这里插入图片描述

将项目打成 jar 包

  • maven projects:lifecycle -》 package
  • 进入jar 包所在的文件夹,cmd 运行
  • 执行jar 包 java -jar 项目包名(java -jar bulidFromWebsite-0.0.1-SNAPSHOT.jar)

项目照样可以运行,在浏览器也能看到输出的结果

方式三

1、创建一个maven项目

2、导入springboot包(来自官方文档https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started.first-application.pom)

<!--直接复制到最外层即可-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.6.2</version>
</parent>

start - parent

3、导入web依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

4、在java下创建包和类(com.tesla.ApplicationMain)

//SpringBootApplication说明了这个程序是springboot
@SpringBootApplication
public class ApplicationMain {
    public static void main(String[] args) {
        //表明了入口,并且还有入口函数
        SpringApplication.run(ApplicationMain.class,args);
    }
}

5、编写controller

6、编写配置 (resources/ application.properties)

更多详细配置见官方文档:Common Application Properties (spring.io)

7、spring还可以简化部署(create an executable jar)

  • 打成一个jar 包,放入pom.xml(使用官方给的插件,可以实现服务器等的打包)
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
  • 然后选择 clean + package
  • 在文件夹中找到项目下的 target 目录,然后cmd java -jar +项目名.jar
  • 即可执行

注意:

  • cmd 记得取消快速编辑模式 (右键-》属性-》取消快速编辑模式)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值