前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot基础篇(一):Spring Boot入门

SpringBoot基础篇(一):Spring Boot入门

作者头像
栗筝i
发布2022-12-01 08:42:12
3780
发布2022-12-01 08:42:12
举报
文章被收录于专栏:迁移内容

我们今天开始对SpringBoot的学习,本篇主要是Spring Boot的入门部分。

1、SpringBoot简介

引用SpringBoot在百度百科中的含义:

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

在学习之前我们可以先列出Spring Boot的优点,以供了解,其相关内容会在未来进行讲解。

  • 快速创建独立运行的Spring项目以及与主流框架集成
  • 使用嵌入式的Servlet容器,应用无需打成WAR包
  • starters自动依赖与版本控制
  • 大量的自动配置,简化开发,也可修改默认值
  • 无需配置XML,无代码生成,开箱即用
  • 准生产环境的运行时应用监控
  • 与云计算的天然集成

2、微服务

了解微服务以前,我们可以相对的了解一下单体应用,什么是单体应用呢?

在单体应用的年代,一个软件应用,往往会将应用所有功能都开发和打包在一起,如图所示,这里将代码打成war包放置在Tomcat服务器上。但是,当用户访问量变大导致一台服务器无法支撑时怎么办呢?于是出现了负载均衡,后来又把静态文件分离出来形成了动静分离。但是呢所谓治标不治本,无论是负载均衡也好,动静分离也罢,都是改善和优化了部署环境,改变不了根本的缺点:

  • 代码臃肿,应用启动时间长;(代码超过1G的项目都有!)
  • 回归测试周期长,修复一个小小bug可能都需要对所有关键业务进行回归测试;
  • 应用容错性差,某个小小功能的程序错误可能导致整个系统宕机;
  • 伸缩困难,单体应用扩展性能时只能整个应用进行扩展,造成计算资源浪费;
  • 开发协作困难,一个大型应用系统,可能几十个甚至上百个开发人员,大家都在维护一套代码的话,代码merge复杂度急剧增加。

所以在这种情况下我们今天的主角——“微服务”就应运而生了,我们先来看一下典型的微服务架构:

根据上图的内容即可以很容易理解微服务架构的大体流程,客户端调用不同的服务时会先经过服务网关来进行调用,而对服务的修改与上传又可以通过服务注册中心和服务配置中心来完成。

3、SpringBoot———HelloWorld

3.1、设计目标

3.2、创建一个Maven工程,在Maven中导入依赖Jar包

代码语言:javascript
复制
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.1.RELEASE</version>
    <relativePath/>
  </parent>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>2.1.12.RELEASE</version>
    </dependency>
  </dependencies>

3.3、编写一个SpringBoot主程序、启动应用

代码语言:javascript
复制
package com.lizhengi;

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

/**
 * springBootApplication:标注一个主程序类,表示这个是一个Springboot应用
 */

@SpringBootApplication
public class HelloWorldApplication {
    public static void main(String[] args) {
        //Spring应用启动
        SpringApplication.run(HelloWorldApplication.class, args);
    }
}

3.4、编写一个Controller

代码语言:javascript
复制
package com.lizhengi.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * RestController:是spring4里的注解,是@ResponseBody和@Controller的缩写。
 */

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "hello SpringBoot,this is my first Application";
    }
}

3.5、运行main方法、查看浏览器

到这里我们的第一个SpringBoot程序HelloWorld程序就完成了。

3.6、简化部署 3.6.1、添加maven插件

代码语言:javascript
复制
 <!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

3.6.2、使用mvn package进行打包

3.6.3、进入打包好的jar包所在目录找到jar包

3.6.4、使用 java -jar jar包名称 运行

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、SpringBoot简介
  • 2、微服务
  • 3、SpringBoot———HelloWorld
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的四七层流量分发服务,访问流量经由 CLB 可以自动分配到多台后端服务器上,扩展系统的服务能力并消除单点故障。轻松应对大流量访问场景。 网关负载均衡(Gateway Load Balancer,GWLB)是运行在网络层的负载均衡。通过 GWLB 可以帮助客户部署、扩展和管理第三方虚拟设备,操作简单,安全性强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档