SpringBoot - 基础入门

1. 概述

1.1 什么是SpringBoot

springBoot
SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品,设计目的是用来简化新Spring应用的初始搭建以及开发过程

最主要作用就是帮我们快速的构建庞大的spring项目,并且尽可能的减少一切xml配置,做到开箱即用,迅速上手,让我们关注与业务而非配置

1.2 为什么要学习SpringBoot

之前
① 复杂的配置
项目各种配置其实是开发时的消耗,写配置挤占了写应用程序逻辑的时间

② 混乱的依赖管理
项目当中添加很多库已经很麻烦了,还要知道这些库的哪个版本和其他库不会有冲突,一旦选错了依赖的版本,随之而来的不兼容问题就会造成项目的致命性伤害

现在
① Spring Boot 简化了基于Spring的应用开发

② 只需要“run”就能创建一个独立的、生产级别的Spring应用

③ Spring Boot为Spring平台及第三方库提供开箱即用的设置

1.3 SpringBoot特点

① 为所有 Spring 的开发者提供一个非常快速的、广泛接受的入门体验

② 开箱即用,通过简单的配置,简化了以前复杂配置操作

③ 提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康检测、外部化配置等

④ 无需 XML 配置

1.4 springBoot功能

① 以jar包方式独立运行(jar -jar xxx.jar)

② 内嵌Servlet容器(tomcat, jetty),无需以war包形式部署到独立的servlet容器中

③ 提供starter简化maven依赖包配置

④ 自动装配bean(大多数场景)

⑤ 提倡使用java配置和注解配置结合而无需xml配置

2. springBoot快速入门

浏览器发送hello请求,服务器接受请求并处理,响应Hello World字符串;

①. 创建一个maven工程
②. 导入spring boot相关的依赖
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
③ 编写一个主程序,启动Spring Boot应用

启动类要放在所有包的父目录,因为他只会扫描启动类当前包和以下的包
还有一种解决方案是 在启动类的上面添加 @ComponentScan(basePackages = {"要扫描的包"})

/**
 *  @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
 */
@SpringBootApplication
public class HelloWorldMainApplication {

    public static void main(String[] args) {

        // Spring应用启动起来
        SpringApplication.run(HelloWorldMainApplication.class,args);
    }
}
④ 编写相关的Controller
@Controller
public class HelloController {

    @ResponseBody
    @RequestMapping("/hello")
    public String hello(){
        return "Hello World!";
    }
}
⑤ 运行主程序测试
⑥ 简化部署

可以将这个应用打成jar包,直接使用java -jar的命令进行执行

<!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
<build>
   <plugins>
       <plugin>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-maven-plugin</artifactId>
       </plugin>
   </plugins>
</build>

如遇到spring boot run启动时非常缓慢使用以下方法

  1. 在命令行中输入hostname 查询当前主机名称

  2. 到C盘Windows\System32\drivers\etc中找到host文件

  3. 复制一份其它地方进行编辑,编辑时在hostname之后添加.local

  4. 注意事项: 127.0.0.1和local之间是两个tab 不是空格

⑦ 热部署配置

引入依赖

<dependency> 
	<groupId>org.springframework.boot</groupId> 
	<artifactId>spring-boot-devtools</artifactId>
</dependency>

3. Hello World探究

POM文件

父项目

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
</parent>

进入父项目发现父项目还依赖于spring-boot-dependencies父项目

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-dependencies</artifactId>
  <version>1.5.9.RELEASE</version>
  <relativePath>../../spring-boot-dependencies</relativePath>
</parent>

spring-boot-dependencies真正管理Spring Boot应用里面的所有依赖版本;他就是Spring Boot的版本仲裁中心;以后我们导入依赖默认是不需要写版本;(没有在dependencies里面管理的依赖自然需要声明版本号)
在这里插入图片描述
启动器

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

spring-boot-starter:spring-boot场景启动器;帮我们导入了web模块正常运行所依赖的组件
在这里插入图片描述
这些依赖受到上面说到的版本仲裁中心的仲裁

Spring Boot将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入这些starter相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器

在这里插入图片描述

主程序类,主入口类
/**
 *  @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
 */
@SpringBootApplication
public class HelloWorldMainApplication {

    public static void main(String[] args) {

        // Spring应用启动起来
        SpringApplication.run(HelloWorldMainApplication.class,args);
    }
}

@SpringBootApplication:
Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;
在这里插入图片描述
其中
@SpringBootConfiguration:
Spring Boot的配置类;标注在某个类上,表示这是一个Spring Boot的配置类;
在这里插入图片描述
@Configuration表示这是配置类

@EnableAutoConfiguration:
开启自动配置功能;以前我们需要配置的东西,Spring Boot帮我们自动配置;@EnableAutoConfiguration告诉SpringBoot开启自动配置功能;这样自动配置才能生效;
在这里插入图片描述
@AutoConfigurationPackage:自动配置包

@Import(AutoConfigurationPackages.Registrar.class):Spring的底层注解@Import,给容器中导入一个组件;导入的组件由AutoConfigurationPackages.Registrar.class;将主配置类(@SpringBootApplication标注的类)的所在包及下面所有子包里面的所有组件扫描到Spring容器(这也就是为什么上面入门程序的时候把启动类放在所有类的父类中)

@Import(EnableAutoConfigurationImportSelector.class);给容器中导入组件,会给容器中导入非常多的自动配置类(xxxAutoConfiguration);就是给容器中导入这个场景需要的所有组件,并配置好这些组件,有了自动配置类,免去了我们手动编写配置注入功能组件等的工作

4. 使用Spring Initializer快速创建Spring Boot项目

IDE都支持使用Spring的项目创建向导快速创建一个Spring Boot项目;
在这里插入图片描述
在这里插入图片描述
选择我们需要的模块;向导会联网创建Spring Boot项目;
在这里插入图片描述
在这里插入图片描述

默认生成的Spring Boot项目;
- 主程序已经生成好了,我们只需要我们自己的逻辑
- resources文件夹中目录结构
  - static:保存所有的静态资源; js css  images;
  - templates:保存所有的模板页面;(Spring Boot默认jar包使用嵌入式的Tomcat,默认不支持JSP页面);可以使用模板引擎(freemarker、thymeleaf);
  - application.properties:Spring Boot应用的配置文件;可以修改一些默认设置;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 是一个基于 Spring 框架的开发框架,它简化了 Spring 应用程序的开发和部署。它提供了一种快速开发的方式,可以帮助开发人员更加专注于业务逻辑的实现,而不是过多地关注底层框架的细节。 以下是 Spring Boot 零基础入门的步骤: 1. 安装 Java 开发环境:在开始学习 Spring Boot 之前,需要先安装 Java 开发环境。可以从官网下载 Java SE 开发工具包 (JDK)。 2. 下载并安装 Spring Boot:可以从 Spring 官方网站下载 Spring Boot,并按照官方文档安装。 3. 创建一个 Spring Boot 应用程序:可以使用 Spring Boot CLI 命令行工具创建一个新的 Spring Boot 应用程序。在命令行中输入以下命令即可创建一个新的 Spring Boot 应用程序: ``` spring init --dependencies=web my-spring-boot-app ``` 这个命令会创建一个名为“my-spring-boot-app”的新应用程序,并添加一个“web”依赖。这个依赖包含了 Spring MVC 和 Tomcat 服务器,可以用于创建 Web 应用程序。 4. 编写代码:使用你喜欢的代码编辑器打开创建的 Spring Boot 应用程序,并编写代码。在这里,可以使用 Spring Boot 提供的自动配置功能来简化应用程序的开发。 5. 运行应用程序:在命令行中输入以下命令,即可运行应用程序: ``` cd my-spring-boot-app ./mvnw spring-boot:run ``` 这个命令会启动应用程序,并在浏览器中打开它。 6. 学习 Spring Boot 的核心功能:学习 Spring Boot 的核心功能可以帮助你更好地理解 Spring Boot 的工作原理,以及如何使用它来构建更加复杂的应用程序。可以通过阅读官方文档、参加在线课程或者参考书籍来学习 Spring Boot 的核心功能。 以上是 Spring Boot 零基础入门的步骤,希望对你有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值