App下載

SpringBoot入門學(xué)習(xí)之認(rèn)識什么是SpringBoot

猿友 2021-08-02 11:48:32 瀏覽數(shù) (3447)
反饋

一、圖示

spring再簡化:SpringBoot-jar:內(nèi)嵌tomacat;微服務(wù)架構(gòu)!

20210520164505121

二、springboot是什么

spring是一個為了解決企業(yè)級應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的,簡化開發(fā)

三、spring是如何簡化開發(fā)的?

為了降低Java開發(fā)的復(fù)雜性,Spring提供了以下四種關(guān)鍵策略:

1.基于pojo的輕量級和最小侵入性編程

2.通過IOC、依賴注入(DI)和面向接口實(shí)現(xiàn)松耦合

3.基于切面(AOP)和慣例進(jìn)行聲明式編程

4.通過切面和模板減少樣式代碼

四、springboot

springboot基于spring開發(fā),springboot本身不提供spring框架的核心特性以及擴(kuò)展功能,只是用于快速、敏捷地開發(fā)新一代基于spring框架的應(yīng)用程序。也就是說,它并不是用來替代spring的解決方案,而是和spring框架緊密結(jié)合用于提升spring開發(fā)者體驗(yàn)的工具。springboot以約定大于配置的核心思想,默認(rèn)幫我們進(jìn)行了很多設(shè)置,多數(shù)springboot應(yīng)用只需要很少的spring配置。同時它集成了大量常用的第三方庫配置(例如Redis、MongoDB、Jpa、RabbitMQ、Quartz等等),springboot應(yīng)用中這些第三方庫幾乎可以零配置的開箱即用。所以,springboot是整合了所有的框架,它不是什么新框架。

五、第一個spingboot程序

環(huán)境:

jdk1.8

maven 3.8.1

mysql 5.7

springboot 2.4.5

打開idea,點(diǎn)擊File-New-Project

20210520164506122

選中spring initializr

20210520164506123

點(diǎn)擊next

20210520164506124

之后寫的內(nèi)容和maven中就一致了,再next

20210520164506125

然后開始選需要的依賴,這里我們選Web里的springWeb依賴,這樣就會幫我自動下載一些web相關(guān)的依賴并導(dǎo)入。

開始以后我們能看到項(xiàng)目里面有這些內(nèi)容:

20210520164506126

我們打開這個SpringbootstudyApplication

package com.hj.springbootstudy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

//程序的主入口!不能刪也不能改,相當(dāng)于main!
@SpringBootApplication
public class SpringbootstudyApplication {
    //springApplication
    public static void main(String[] args) {
        SpringApplication.run(SpringbootstudyApplication.class, args);
    }

}

發(fā)現(xiàn)他是主函數(shù)文件,我們運(yùn)行這個主函數(shù),能夠發(fā)現(xiàn)服務(wù)被啟動了!

20210520164506127

然后瀏覽器輸入localhost:8080

能夠看到我們的web項(xiàng)目已經(jīng)被啟動了!

20210520164506128

我們在這個主函數(shù)文件目錄下,新建以下老熟悉的文件夾:

在這里插入圖片描述

這樣就和之前我們項(xiàng)目開發(fā)看著就差不多了

再來看看pom.xml的內(nèi)容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.hj</groupId>
    <artifactId>springbootstudy</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springbootstudy</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!--web依賴:tomcat,dispatcherServlet.xml都由依賴做-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--所有的springboot依賴都是spring-boot-starter開頭的-->
        <!--單元測試-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <!--打jar包插件-->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

這里包括了:

  • parent:繼承spring-boot-starter-parent的依賴管理,控制版本與打包內(nèi)容等
  • dependencies:項(xiàng)目具體依賴,這里包含了spring-boot-starter-web用于實(shí)現(xiàn)HTTP接口(該依賴中包含了Spring MVC),官網(wǎng)對它的描述是:使用Spring MVC構(gòu)建Web(包括RESTful)應(yīng)用程序的入門在,使用Tomcat作為默認(rèn)嵌入式容器。spring-boot-starter-test用于編寫單元測試的依賴包。
  • build:構(gòu)建配置部分,默認(rèn)使用了spring-boot-maven-plugin,配合spring-boot-starter-parent就可以把spring boot應(yīng)用打包成jar來直接運(yùn)行

如果spring-boot-starter-web依賴沒有被導(dǎo)入,你會發(fā)現(xiàn)一運(yùn)行就結(jié)束了

到此這篇關(guān)于 SpringBoot 入門學(xué)習(xí)之認(rèn)識什么是 SringBoot 以及如何使用 IDEA 創(chuàng)建一個 SpringBoot 項(xiàng)目,想要了解更多相關(guān)SpringBoot 基礎(chǔ)學(xué)習(xí)內(nèi)容請搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,也希望大家以后多多支持!


0 人點(diǎn)贊