day01-SpringBoot基本介绍

张春  金牌会员 | 2023-3-12 22:33:32 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 571|帖子 571|积分 1713

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/

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

需求分析:构建一个SpringBoot项目,浏览器发送请求,项目响应。
(1)确认开发环境是jdk8以上,maven在3.5+
(2)创建maven项目:File-->New-->Project-->Maven
(3)在项目的pom.xml文件中引入SpringBoot父工程和web项目场景启动器
  1. <parent>
  2.     <artifactId>spring-boot-starter-parent</artifactId>
  3.     <groupId>org.springframework.boot</groupId>
  4.     <version>2.5.3</version>
  5. </parent>
  6. <dependencies>
  7.     <dependency>
  8.         <groupId>org.springframework.boot</groupId>
  9.         <artifactId>spring-boot-starter-web</artifactId>
  10.     </dependency>
  11. </dependencies>
复制代码
(4)在src/main/java/com/li/springboot目录下创建一个MainApp类
  1. package com.li.springboot;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. /**
  5. * @author 李
  6. * @version 1.0
  7. * @SpringBootApplication 注解用来标识这是一个SpringBoot应用项目
  8. */
  9. @SpringBootApplication
  10. public class MainApp {
  11.     public static void main(String[] args) {
  12.         //启动SpringBoot应用程序/项目
  13.         SpringApplication.run(MainApp.class, args);
  14.     }
  15. }
复制代码
(5)src/main/java/com/li/springboot/controller目录下创建控制器HelloController
  1. package com.li.springboot.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.ResponseBody;
  5. /**
  6. * @author 李
  7. * @version 1.0
  8. */
  9. @Controller
  10. public class HelloController {
  11.     //写一个方法,返回提示
  12.     @RequestMapping("/hello")
  13.     @ResponseBody
  14.     public String hello() {
  15.         return "Hello,SpringBoot!";
  16.     }
  17. }
复制代码
(6)点击运行MainApp.java的main方法
(7)在浏览器成功访问到映射的url
2.1快速入门小结


  • SpringBoot相比于传统的SSM开发,简化了大量的整合步骤,提高了开发效率
  • 简化了Maven项目的pom.xml依赖导入,可以说是一键导入

  • 引入一个spring-boot-starter-web,到底发生了什么?
    下面是项目maven管理的依赖关系图:

3.Spring、SpringMVC、SpringBoot的关系


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


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

    • 例如在模型中存在一个名为User的类,那么对应到数据库会存在一个名为user的表,只有在偏离这个约定时才需要做相关的配置(例如你想将表命名为t_user而非user时才需要写关于此名字的配置)
    • 简单地说就是,假如你所期待的配置与约定的配置一致,那么就可以不做任何配置,约定不符合期待时,才需要对约定进行替换配置
    • 注意,约定优于配置的意思不是约定的优先级高于配置的优先级!

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表