Spring Boot2篇 - 一、Spring Boot 入门(Hello World)

爱被打了一巴掌 2023-10-04 16:08 115阅读 0赞

一、Spring Boot 入门(Hello World)

1.1 回顾Spring

  • Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson
  • Spring是为了解决企业级应用开发的复杂性而创建的,简化开发

Spring是如何简化Java开发的

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

1.2 Spring Boot 简介

简化Spring应用开发的一个框架;

整个Spring技术栈的一个大整合;

J2EE开发的一站式解决方案;

1.3 微服务简介

微服务:架构风格(服务微化)

一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;

单体应用:ALL IN ONE

微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;

1.4 Spring Boot 优点与缺点

1.4.1 优点

  • Create stand-alone Spring applications

    • 创建独立Spring应用
  • Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)

    • 内嵌web服务器
  • Provide opinionated ‘starter’ dependencies to simplify your build configuration

    • 自动starter依赖,简化构建配置
  • Automatically configure Spring and 3rd party libraries whenever possible

    • 自动配置Spring以及第三方功能
  • Provide production-ready features such as metrics, health checks, and externalized configuration

    • 提供生产级别的监控、健康检查及外部化配置
  • Absolutely no code generation and no requirement for XML configuration

    • 无代码生成、无需编写XML

SpringBoot是整合Spring技术栈的一站式框架

SpringBoot是简化Spring技术栈的快速开发脚手架

SptingBoot的核心思想:约定大于配置

1.4.2 缺点

  • 人称版本帝,迭代快,需要时刻关注变化
  • 封装太深,内部原理复杂,不容易精通

1.5 Spring Boot HelloWorld

一个功能: 浏览器发送hello请求,服务器接受请求并处理,响应Hello World字符串

1.5.1 方式一:创建普通Maven项目

创建maven时不需要勾选任何模板

1.5.1.1 导入spring boot相关的依赖
  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>1.5.9.RELEASE</version>
  5. </parent>
  6. <dependencies>
  7. <dependency>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-web</artifactId>
  10. </dependency>
  11. </dependencies>
  12. <!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
  13. <build>
  14. <plugins>
  15. <plugin>
  16. <groupId>org.springframework.boot</groupId>
  17. <artifactId>spring-boot-maven-plugin</artifactId>
  18. </plugin>
  19. </plugins>
  20. </build>
1.5.1.2 编写一个主程序;启动Spring Boot应用
  1. /**
  2. * @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
  3. */
  4. @SpringBootApplication
  5. public class HelloWorldMainApplication {
  6. public static void main(String[] args) {
  7. // Spring应用启动起来
  8. SpringApplication.run(HelloWorldMainApplication.class,args);
  9. }
  10. }
1.5.1.3 编写相关的Controller、Service
  1. /**
  2. * @author cVzhanshi
  3. * @create 2021-06-08 17:38
  4. */
  5. @Controller
  6. public class HelloController {
  7. @ResponseBody
  8. @RequestMapping("/hello")
  9. public String hello(){
  10. return "Hello World!";
  11. }
  12. }
1.5.1.4 测试主程序

在这里插入图片描述

1.5.1.5 简化部署
  1. <!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
  2. <build>
  3. <plugins>
  4. <plugin>
  5. <groupId>org.springframework.boot</groupId>
  6. <artifactId>spring-boot-maven-plugin</artifactId>
  7. </plugin>
  8. </plugins>
  9. </build>

演示:
在这里插入图片描述

在这里插入图片描述

直接运行jar包
在这里插入图片描述

1.5.2 方式二: 使用Spring Initializr 的 Web页面创建项目

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

1.5.3 方式三(常用):通过IDEA集成的Spring Initializr创建项目

1.5.3.1 创建项目
  • new project —> Spring Initializr
    在这里插入图片描述
  • 按操作提示进行下一步
    在这里插入图片描述

在这里插入图片描述

项目结构分析:

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

1、程序的主启动类

2、一个 application.properties 配置文件

3、一个 测试类

4、一个 pom.xml

1.5.3.1 编写相关controller
  • 在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到
  • 在包中新建一个HelloWorldController类

    /**

    • @author cVzhanshi
    • @create 2021-06-10 14:20
      */

    @Controller
    @RequestMapping(“/hello”)
    public class HelloWorldController {

  1. @GetMapping("/hello")
  2. @ResponseBody
  3. public String hello(){
  4. return "Hello World";
  5. }
  6. }
1.5.3.2 运行测试

编写完毕后,从主程序启动项目,浏览器发起请求,看页面返回;控制台输出了 Tomcat 访问的端口号!

在这里插入图片描述

其中简化部署和maven相同

1.5.3.3 修改端口号和修改banner
  • 修改端口号

只需要在application.properties配置文件中修改就行

  1. #修改端口号
  2. server.port=8081
  • 修改banner

banner时运行spring boot时出现的一个图案

在这里插入图片描述

修改过程

  • 此地址自定义banner
  • 复制生成的内容,在application.properties配置文件同级目录下创建banner.txt,把内容复制进去就行

    ██ ██ ██

    1. ░██ ░██ ░░

    █████ ██ ██ ██████░██ ██████ ███████ ██████░██ ██
    ██░░░██░██ ░██░░░░██ ░██████ ░░░░░░██ ░░██░░░██ ██░░░░ ░██████ ░██
    ░██ ░░ ░░██ ░██ ██ ░██░░░██ ███████ ░██ ░██░░█████ ░██░░░██░██
    ░██ ██ ░░████ ██ ░██ ░██ ██░░░░██ ░██ ░██ ░░░░░██░██ ░██░██
    ░░█████ ░░██ ██████░██ ░██░░████████ ███ ░██ ██████ ░██ ░██░██
    ░░░░░ ░░ ░░░░░░ ░░ ░░ ░░░░░░░░ ░░░ ░░ ░░░░░░ ░░ ░░ ░░

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,115人围观)

还没有评论,来说两句吧...

相关阅读