springboot简介

原创
2020/04/24 10:34
阅读数 54

1.springboot简介

springboot是简化spring应用开发的一个框架,是对于spring的再封装,是J2EE开发的一站式解决方案。入门容易,精通难。

1.1 springboot的优点

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

1.2 微服务

2014年,martin fowler提出:
微服务:架构风格
一个应用应该是一组小型服务;可以通过HTTP的方式进行互通
每一个功能元素都是一个可独立替换和独立升级的软件

单体服务(all in one):
Browser<->Apache<->Tomcat[WAR包(前端页面、逻辑处理 ...)]<->DataBase

1.3 maven和idea配置

1.3.1 maven全局配置jdk

在下载的Maven目录中找到settings.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>

1.3.2 maven配置阿里云镜像

找到 mirrors 标签,在其里面加入如下子标签

 <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>https://maven.aliyun.com/repository/public </url>
</mirror>

配置本地仓库

<localRepository>D:\maven\maven_repository</localRepository>

1.3.3 idea配置maven本地仓库

1.4 springboot之Hello World

1.4.1 功能

服务器发送一个hello请求,服务器接受请求并处理,响应Hello World字符串;

1.4.2 步骤

1. 创建一个maven工程
2. 导入springboot相关的依赖
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
</parent>

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

<!-- 看步骤6.简化部署 -->
<!-- 这个插件可以将应用打包成一个可执行的jar包 -->
<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
3.编写启动类
package com.zlj;

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

/**
 * @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
 */

@SpringBootApplication
public class HelloWorldApplication  {
    public static void main(String[] args) {
        //启动Spring应用
        SpringApplication.run(HelloWorldApplication.class,args);
    }
}
4.编写业务逻辑(Controller、Services ...)
package com.zlj.controller;

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

@Controller
public class HelloController {
    @ResponseBody//用来返回JSON格式
    @RequestMapping("/hello")
    public String hello(){
        return "Hello World!";
    }
}
5.运行main方法
6.简化部署
6.1添加插件的依赖(就放在<project></project>标签下)
<!-- 这个插件可以将应用打包成一个可执行的jar包 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
6.2打成jar包

6.3运行
C:\Users\Administrator\Desktop>java -jar spring-boot-01-helloworld-1.0-SNAPSHOT.jar

2.HelloWorld探究

2.1 POM文件

1.父项目
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
</parent>
<!-- 👇他的父项目是 -->

<parent>
<!-- 他来真正管理springboot应用里的所有依赖版本 -->
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.0.5.RELEASE</version>
        <relativePath>../../spring-boot-dependencies</relativePath>
</parent>

ctrl加鼠标点击spring-boot-starter-parent

ctrl加鼠标点击spring-boot-dependencies,定义了每一个依赖的版本

Spring Boot版本仲裁中心:
以后我们导入依赖默认不需要写版本,没有在dependencies里面管理的依赖需要我们自己写
2.**启动器**
<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
</dependency>
spring-boot-starter:springboot场景启动器;帮我们导入web模块正常运行所依赖的组件
springboot将所有的功能场景都抽取出来,做成一个个starters(启动器),只需要在项目里面引入这些starter,相关场景的所有依赖都会导入进来。要用什么功能,就导入什么场景启动器。

... ...

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部