Spring Boot 实例解析:从概念到代码

发布于:2025-02-10 ⋅ 阅读:(49) ⋅ 点赞:(0)
  1. SpringBoot 简介:
    1. 简化 Spring 应用开发的一个框架
    2. 整合 Spring 技术栈的一个大整合
    3. J2EE 开发的一站式解决方案
    4. 优点:快速创建独立运行的 Spring 项目以及与主流框架集成
    5. 使用嵌入式的 Servlet 容器,应用无需打成 war 包,内嵌 Tomcat
    6. Srarters 自动依赖和版本控制
    7. 大量的自动装配,简化开发,也可以修改默认值
    8. 无需配置 XML  无代码生成,开箱即用
    9. 准生产环境的运行时应用监控
    10. 与云计算的天然集成
  2. 微服务:
    1. 简介:
      1. Spring Cloud 服务的治理方案
      2. Java 开发框架演变过程:Java开发框架演变过程 - 盗梦笔记 - 博客园
      3. 架构风格:服务微化
      4. 指开发单个小型的但有业务功能的服务,每个服务都有自己处理和轻量通讯机制,可以部署在单个或多个服务器上
      5. 微服务也指一种松耦合,有一定的有界上下文的面向服务框架
      6. 一个应用应该是一组小型服务,可以通过 HTTP 的方式进行互通
      7. 单体应用:ALL  IN  ONE
      8. 每一个功能元素最终都是一个可独立替换和独立升级的软件单元
      9. 微服务文档
    2. 微服务优点:
      1. 每一个微服务都很小,这样能聚焦一个指定的业务功能或业务需求
      2. 微服务能够被 2-5 人小团队开发
      3. 微服务是松耦合的,是有功能意义的服务,无论是开发阶段或是部署阶段都是独立的
      4. 微服务能够使用不同的语言开发
      5. 微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,一个团队的新成员能够更快投入生产
      6. 微服务易于被一个开发人员理解、修改和维护
      7. 微服务能偶及时被要求扩展
      8. 微服务能够部署中低端配置的服务
      9. 易于和第三方集成
      10. 每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一的数据库
    3. 微服务缺点:
      1. 微服务架构可能带来过多的操作
      2. 可能付出双倍的努力
      3. 分布式系统可能复杂难以管理,因为分布式跟踪问题na难
      4. 当服务量增加,管理复杂性增加
  3. MAVEN 设置:
    1. 给 maven 的 setting.xml 配置文件的 profiles 标签添加:
      <profile>
          <id>jdk‐1.8</id>
          <activation>
               <activeByDefault>true</activeByDefault>
          <jdk>1.8</jdk>
          </activation>
          <properties>
               <maven.compiler.source>1.8</maven.compiler.source>
               <maven.compiler.target>1.8</maven.compiler.target>
               <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
          </properties>
      </profile>
    2. IDEA 设置:
    3. 注意:第一个依赖后面的 -web 不要忘记
      <?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.7.5</version>
             <relativePath/> <!-- lookup parent from repository -->
          </parent>
          <groupId>com.qcby</groupId>
          <artifactId>springboot</artifactId>
          <version>0.0.1-SNAPSHOT</version>
      
          <!-- JDK 版本-->
          <properties>
             <java.version>1.8</java.version>
          </properties>
          <dependencies>
             <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
             </dependency>
      
             <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
             </dependency>
          </dependencies>
      
      
      </project>
  4. SpringBoot Hello World(将 maven 项目改变成 SpringBoot 项目):
    1. 创建一个 maven 工程(打包方式为 jar 包)
    2. 导入 SpringBoot 相关的依赖
      <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>
    3. 编写一个主程序:启动 Spring Boot 应用
      /**
      *
      @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
      */
      @SpringBootApplication
      public class HelloWorldMainApplication {
          public static void main(String[] args) {
          // Spring应用启动起来
          SpringApplication.run(HelloWorldMainApplication.class,args);
          }
      }
    4. 简化部署:可以将应用打成一个可执行的 jar 包
      <!--    这个插件,可以将应用打包成一个可执行的jar包-->
      <build>
          <plugins>
             <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
             </plugin>
          </plugins>
      </build>
      
      
    5. 编写相关的 Controller 和 Service:
      @RestController
      public class HelloController {
      
          @RequestMapping("/hello")
          public String sayHello(){
              return "Hello World";
          }
      }

网站公告

今日签到

点亮在社区的每一天
去签到