Springboot笔记(1):Hello World/狂神说

x33g5p2x  于2022-02-21 转载在 Spring  
字(4.0k)|赞(0)|评价(0)|浏览(190)

0、写在前面

1、微服务

2、Springboot内容

3、SpringCloud内容

4、Spring回顾

5、Springboot学习

1、项目构建

2、项目结构分析:

2.1、pom分析

2.2、编写一个http接口

2.3、将项目打成jar包,点击 maven的 package

2.4、彩蛋

2.5、热部署

0、写在前面

ProcessOn:画脑图

1、微服务

javase:OOP

mysql:持久化

html + css + js + jquery + 框架

javaweb: 独立开发MVC三层架构的网站,原始

SSM:框架,简化了开发流程,配置开始比较复杂。

之前都是打war包,放到tomcat运行。

SpringBoot:Spring再简化,打包成jar包,内嵌tomcat

微服务架构

2、Springboot内容

springboot是什么
配置yml
集成web开发:业务核心
集成数据库:Druid
分布式开发:Dubbo + zookeeper
swagger + 接口文档
任务调度
SpringSecurity : Shiro

3、SpringCloud内容

微服务
SpringCloud入门
Restful
Eureka
Nginx
Ribbon
Feign
Hystrix
Zuul路由网关
SpringCloud Config:git

4、Spring回顾

Spring目的:Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。

Spring是如何简化Java开发的

为了降低Java开发的复杂性,Spring采用了以下4种关键策略:

  • 1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;
  • 2、通过IOC,依赖注入(DI)和面向接口实现松耦合;
  • 3、基于切面(AOP)和惯例进行声明式编程;
  • 4、通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;

5、Springboot学习

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

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

1、项目构建

java version "1.8.0_181"

Maven-3.6.1

SpringBoot 2.x 最新版

**项目创建方式一:**使用Spring Initializr 的 Web页面创建项目

  • 1、打开  https://start.spring.io/
  • 2、填写项目信息
  • 3、点击”Generate Project“按钮生成项目;下载此项目
  • 4、解压项目包,并用IDEA以Maven项目导入,一路下一步即可,直到项目导入完毕。
  • 5、如果是第一次使用,可能速度会比较慢,包比较多、需要耐心等待一切就绪。

**项目创建方式二:**使用 IDEA 直接创建项目

  • 1、创建一个新项目
  • 2、选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现
  • 3、填写项目信息
  • 4、选择初始化的组件(初学勾选 Web 即可)
  • 5、填写项目路径
  • 6、等待项目构建成功

注意:一般将文件:.mvn、.gitignore、.HELP.md、mvnw.cmd、mvnw删掉即可。

2、项目结构分析:

通过上面步骤完成了基础项目的创建。就会自动生成以下文件。

  • 1、程序的主启动类
  • 2、一个 application.properties 配置文件
  • 3、一个 测试类
  • 4、一个 pom.xml

2.1、pom分析

都是以spring-boot-start开头

打开pom.xml,看看Spring Boot项目的依赖:

<!-- 父依赖 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.5.RELEASE</version>
    <relativePath/>
</parent>
 
<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>
 
<build>
    <plugins>
        <!-- 打包插件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
  • 项目元数据信息:创建时输入Project Metadata部分,也就是Maven项目的基本信息,包括:groupId、artifactId、version、name、description等。
  • parent:继承spring-boot-starter-parent 的依赖管理,控制版本与打包等内容。
  • dependencies:项目具体依赖,包含spring-boot-starter-web用于实现HTTP接口,该依赖包含了SpringMVC,使用SpringMVC构建 WEB (包含restful) 应用程序的入门者,使用Tomcat作为默认 嵌入式容器。spring-boot-starter-test 用于编写单元测试的依赖包。
  • build:构建配置部分,默认使用 spring-boot-maven-plugin,配合sprint-boot-starter-parent 就可以把Spring Boot应用打包成jar 直接运行。

2.2、编写一个http接口

  • 1、在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到
  • 2、在包中新建一个HelloController类
  • 3、编写完毕后,从主程序启动项目,浏览器发起请求,看页面返回;控制台输出了 Tomcat 访问的端口号!

简单几步,就完成了一个web接口的开发。

2.3、将项目打成jar包,点击 maven的 package

如果遇到以上错误,可以配置打包时 跳过项目运行测试用例

<!--
    在工作中,很多情况下我们打包是不想执行测试用例的
    可能是测试用例不完事,或是测试用例会影响数据库数据
    跳过测试用例执
    -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <!--跳过项目运行测试用例-->
        <skipTests>true</skipTests>
    </configuration>
</plugin>

2.4、彩蛋

如何更改启动时显示的字符拼成的字母,SpringBoot呢?也就是 banner 图案;

只需一步:到项目下的 resources 目录下新建一个banner.txt 即可。

图案可以到:https://www.bootschool.net/ascii 这个网站生成,然后拷贝到文件中即可!

SpringBoot这么简单的东西背后一定有故事,我们之后去进行一波源码分析!

2.5、热部署

添加依赖:dev-tools
 

相关文章