Springboot基础学习之初识SpringBoot

作者:IPostYellow 时间:2022-08-18 08:48:59 

一、图示

spring再简化:SpringBoot-jar:内嵌tomacat;微服务架构!

Springboot基础学习之初识SpringBoot

二、springboot是什么

spring是一个为了解决企业级应用开发的复杂性而创建的,简化开发

三、spring是如何简化开发的?

为了降低Java开发的复杂性,Spring提供了以下四种关键策略:

1.基于pojo的轻量级和最小侵入性编程

2.通过IOC、依赖注入(DI)和面向接口实现松耦合

3.基于切面(AOP)和惯例进行声明式编程

4.通过切面和模板减少样式代码

四、springboot

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

五、第一个spingboot程序

环境:

jdk1.8

maven 3.8.1

mysql 5.7

springboot 2.4.5

打开idea,点击File-New-Project

Springboot基础学习之初识SpringBoot

选中spring initializr

Springboot基础学习之初识SpringBoot

点击next

Springboot基础学习之初识SpringBoot

之后写的内容和maven中就一致了,再next

Springboot基础学习之初识SpringBoot

然后开始选需要的依赖,这里我们选Web里的springWeb依赖,这样就会帮我自动下载一些web相关的依赖并导入。

开始以后我们能看到项目里面有这些内容:

Springboot基础学习之初识SpringBoot

我们打开这个SpringbootstudyApplication


package com.hj.springbootstudy;

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

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

}

发现他是主函数文件,我们运行这个主函数,能够发现服务被启动了!

Springboot基础学习之初识SpringBoot

然后浏览器输入localhost:8080

能够看到我们的web项目已经被启动了!

Springboot基础学习之初识SpringBoot

我们在这个主函数文件目录下,新建以下老熟悉的文件夹:

Springboot基础学习之初识SpringBoot

这样就和之前我们项目开发看着就差不多了

再来看看pom.xml的内容


<?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的依赖管理,控制版本与打包内容等

  • dependencies:项目具体依赖,这里包含了spring-boot-starter-web用于实现HTTP接口(该依赖中包含了Spring MVC),官网对它的描述是:使用Spring MVC构建Web(包括RESTful)应用程序的入门在,使用Tomcat作为默认嵌入式容器。spring-boot-starter-test用于编写单元测试的依赖包。

  • build:构建配置部分,默认使用了spring-boot-maven-plugin,配合spring-boot-starter-parent就可以把spring boot应用打包成jar来直接运行

如果spring-boot-starter-web依赖没有被导入,你会发现一运行就结束了

来源:https://blog.csdn.net/Doraemon_Nobita/article/details/117044098

标签:SpringBoot,框架,java
0
投稿

猜你喜欢

  • Java实现动态获取图片验证码的示例代码

    2023-07-24 22:32:05
  • C#基于Sockets类实现TCP通讯

    2023-03-22 05:08:30
  • 详解c# 委托链

    2021-10-06 23:17:59
  • java信号量控制线程打印顺序的示例分享

    2023-05-09 12:27:38
  • C#微信开发之微信公众号标签管理功能

    2023-04-17 20:20:44
  • 浅谈Maven的build生命周期和常用plugin

    2022-11-03 01:47:52
  • Java8 CompletableFuture runAsync学习总结submit() execute()等

    2023-05-25 04:13:43
  • 使用Jitpack发布开源Java库的详细流程

    2021-12-18 06:55:58
  • Android编程解析XML文件的方法详解【基于XmlPullParser】

    2022-09-21 22:48:40
  • C#中的Dialog对话框

    2022-08-21 11:21:48
  • Java中static静态变量的初始化完全解析

    2023-11-27 21:03:39
  • Mybatis环境配置及测试详解

    2023-11-24 07:06:25
  • Java中List Set和Map之间的区别_动力节点Java学院整理

    2022-12-11 04:57:38
  • Android中实现iOS中的毛玻璃效果

    2023-01-27 01:44:14
  • Java 数组高频考点分析讲解

    2021-09-01 13:14:36
  • 使用Spring的拦截器监测每个Controller或方法的执行时长

    2021-12-19 16:36:01
  • SpringBoot常用注解详细整理

    2022-12-15 18:53:01
  • SpringMVC中Model与Session的区别说明

    2023-07-07 20:42:58
  • 详解Nacos配置中心的实现

    2022-06-05 07:56:49
  • C++ 双向循环链表类模版实例详解

    2022-10-29 18:04:49
  • asp之家 软件编程 m.aspxhome.com