首页 > 其他分享 >day01-SpringBoot基本介绍

day01-SpringBoot基本介绍

时间:2023-03-12 22:45:07浏览次数:48  
标签:SpringBoot Spring day01 boot 介绍 springframework spring 约定

SpringBoot基本介绍

1.SpringBoot是什么?

官网地址:https://spring.io/projects/spring-boot

学习文档:https://docs.spring.io/spring-boot/docs/2.7.10-SNAPSHOT/reference

在线API:https://docs.spring.io/spring-boot/docs/2.7.10-SNAPSHOT/api/

  1. SpringBoot可以轻松创建独立的,生产级的,基于Spring的应用程序
  2. SpringBoot直接嵌入Tomcat,Jetty或Undertow,可以“直接运行”SpringBoot应用程序

2.SpringBoot快速入门

需求分析:构建一个SpringBoot项目,浏览器发送请求,项目响应。

(1)确认开发环境是jdk8以上,maven在3.5+

(2)创建maven项目:File-->New-->Project-->Maven

image-20230312181115749 image-20230312181328392

(3)在项目的pom.xml文件中引入SpringBoot父工程和web项目场景启动器

<!--导入SpringBoot父工程-规定写法-->
<parent>
    <artifactId>spring-boot-starter-parent</artifactId>
    <groupId>org.springframework.boot</groupId>
    <version>2.5.3</version>
</parent>
<!--导入web项目场景启动器:会自动导入和web开发相关的所有依赖[jar包]-->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

(4)在src/main/java/com/li/springboot目录下创建一个MainApp类

package com.li.springboot;

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

/**
 * @author 李
 * @version 1.0
 * @SpringBootApplication 注解用来标识这是一个SpringBoot应用项目
 */
@SpringBootApplication
public class MainApp {
    public static void main(String[] args) {
        //启动SpringBoot应用程序/项目
        SpringApplication.run(MainApp.class, args);
    }
}

(5)src/main/java/com/li/springboot/controller目录下创建控制器HelloController

package com.li.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @author 李
 * @version 1.0
 */
@Controller
public class HelloController {
    //写一个方法,返回提示
    @RequestMapping("/hello")
    @ResponseBody
    public String hello() {
        return "Hello,SpringBoot!";
    }
}

(6)点击运行MainApp.java的main方法

image-20230312184907088

(7)在浏览器成功访问到映射的url

image-20230312185007383

2.1快速入门小结

  1. SpringBoot相比于传统的SSM开发,简化了大量的整合步骤,提高了开发效率

  2. 简化了Maven项目的pom.xml依赖导入,可以说是一键导入

    image-20230312190037095
  3. 引入一个spring-boot-starter-web,到底发生了什么?

    image-20230312190846314

    下面是项目maven管理的依赖关系图:

    springboot-quickstart

3.Spring、SpringMVC、SpringBoot的关系

  1. 三者之间的关系:SpringBoot > Spring > Spring MVC
  2. SpringMVC 只是 Spring 处理 WEB 层请求的一个模块/组件,SpringMVC 的基石是 Servlet
  3. Spring 的核心是 IOC 和 AOP,IOC 提供了依赖注入的容器,AOP 解决了面向切面编程
  4. SpringBoot 是为了简化开发推出的框架(约定优于配置[COC],简化了 Spring 项目的配置流程),SpringBoot 包含很多组件/框架,Spring 就是最核心的内容之一,也包含 SpringMVC
  5. Spring 家族,有众多的衍生框架和组件如 boot,security,jpa 等,它们的基石都是 Spring

3.1如何理解约定优于配置?

  1. 约定优于配置(Convention over Configuration,COC),又称按约定编程,是一种软件设计规范,本质上是对系统、类库或框架中一些东西假定一个大众化、合理化的默认值(缺省值)

    • 例如在模型中存在一个名为User的类,那么对应到数据库会存在一个名为user的表,只有在偏离这个约定时才需要做相关的配置(例如你想将表命名为t_user而非user时才需要写关于此名字的配置)

    • 简单地说就是,假如你所期待的配置与约定的配置一致,那么就可以不做任何配置,约定不符合期待时,才需要对约定进行替换配置

    • 注意,约定优于配置的意思不是约定的优先级高于配置的优先级!

  2. 为什么搞一个约定优于配置理念?

    约定其实就是一种规范,遵循了规范,那么就存在通用性,存在通用性,事情就会变得相对简单,程序员之间的沟通成本会降低,工作效率会提升,合作也会变得更加简单。

标签:SpringBoot,Spring,day01,boot,介绍,springframework,spring,约定
From: https://www.cnblogs.com/liyuelian/p/17209447.html

相关文章

  • springboot:dynamic-datasource
    dynamic-datasource可以动态的配置多数据源,配置简易,使用方便。pom.xml配置<!--druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid-s......
  • 数字工厂介绍
    工业互联网平台的智能制造解决方案,深度融合信息网络技术与现代工业技术,为企业原料、设备、生产、运输、销售五大环节提供智能互联服务。研发设计、生产管理、运营管理等业......
  • 007 springboot集合mybatis-plus,使用其中的代码生成器
    代码生成器步骤一:在pom.xml中添加相应的依赖<!--代码生成器--><dependency><groupId>com.baomidou</groupId><artifactId>......
  • day01
    day011.JavaScript介绍JavaScript是什么JavaScript是一种运行在客户端(浏览器)的变成语言,实现人机交互效果。作用:网页特效表单验证数据交互服务端编程(nodejs)组成......
  • 【MAVEN】SpringBoot打包之spring-boot-maven-plugin插件
    背景maven要怎样才能打包呢,打的包为什么运行不起来呢?——关于这个问题,一直都没有很理解得很透彻。虽然现在也没有很清楚。现在就说问题,怎样去打一个flatJar呢,就是jav......
  • springcloud介绍
    一、微服务1、总览-微服务的技术栈注册中心,管理服务的IP和端口等配置中心,实现配置热部署消息队列,通过发送消息实现异步通知,避免服务链路过长带来的时间损失服务路由......
  • SpringBoot中使用POI导出Excel时怎样循环数据库数据赋值
    场景在已经实现简单的Excel导出的前提下,要结合具体业务实现查询数据库,并遍历赋值到excel上。实现使用MyBatisPlus从数据库查询数据Map<String,Object>param=newHashMap<St......
  • IDEA中进行SpringBoot整合spring-ws开发webservice接口后期要修改xsd文件流程
    场景SpringBoot整合spring-ws开发webservice接口(全流程详细教程)现在接口已经开发完毕,但是在后期进行调试时发现在C#程序中进行调用时某个接口没有响应。原因是不同接口中存......
  • OpenGL学习(十)-- 着色语言 GLSL 语法介绍
    我的OpenGL专题学习目录,希望和大家一起学习交流进步!OpenGL学习(一)--术语了解OpenGL学习(二)--Xcode搭建OpenGL环境OpenGL学习(三)--OpenGL基础渲染OpenGL学习(......
  • GLSL基础语法介绍
    GLSL(OpenGL着色语言OpenGLShadingLanguage)语法跟C语言很类似,在可编程管线中我们必须要纯手写顶点和片源着色器,这里就要求必须使用GLSL,自行编译,链接,使用,本片文章介绍......