SpringBoot框架使用介绍 入门等 no1.

Springboot入门介绍

一、Spring框架概述

1.1 什么是Spring

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。但是Spring不仅仅局限于服务器端开发,任何Java应用都能在简单性、可测试性和松耦合性等方面从Spring中获益。

1.2 Spring是如何简化Java开发的

为了降低Java开发的复杂性,Spring采用了以下4种关键策略:

1、基于POJO的轻量级和最小侵入性编程;

2、通过依赖注入(DI)和面向接口实现松耦合;

3、基于切面(AOP)和惯例进行声明式编程;

4、通过切面和模版减少样式代码;

二、SpringBoot简介

2.1什么是SpringBoot

Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。

2.2、SpringBoot四个主要特性

1、SpringBoot Starter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中;

2、自动配置:SpringBoot的自动配置特性利用了Spring4对条件化配置的支持,合理地推测应用所需的bean并自动化配置他们;

3、命令行接口:(Command-line-interface, CLI):SpringBoot的CLI发挥了Groovy编程语言的优势,并结合自动配置进一步简化Spring应用的开发;

4、Actuatir:它为SpringBoot应用的所有特性构建一个小型的应用程序。但首先,我们快速了解每项特性,更好的体验他们如何简化Spring编程模型。

2.3 SpringBoot开发的具体好处

回顾我们之前的 SSM 项目,搭建过程还是比较繁琐的,需要:

1、配置web.xml,加载spring和spring mvc

2、配置数据库连接、配置spring事务

3、配置加载配置文件的读取,开启注解

三,微服务

2014年。由martin fowler提出来的
微服务:架构风格(服务微化)
一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;

每一个功能元素最终都是一个可独立替换和独立升级的软件.

四,springboot入门程序

1.创建maven工程(jar)

在这里插入图片描述
点击自动导入依赖:
在这里插入图片描述

2.导入springboot相关的依赖

在springboot官网导入依赖:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
   </dependencies>

在这里插入图片描述
这样可以看到依赖环境已经导入:
在这里插入图片描述

## 3.编写主程序 启动springboot

在这里插入图片描述
4.编写一个service 编写一个controller
在这里插入图片描述

5.启动springboot

在这里插入图片描述
在这里插入图片描述
响应结果:
在这里插入图片描述
6简化部署
导入一个插件
在这里插入图片描述

<build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
执行jar

java -jar

在这里插入图片描述
同样可以完成:
在这里插入图片描述

# 7.Springboot的pom文件分析

首先他有一个父依赖


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    

他的父项目是:

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.1.6.RELEASE</version>
    <relativePath>../../spring-boot-dependencies</relativePath>
  </parent>

父项目里面实际上他定义了众多版本控制
所有添加依赖的时候可以不添加版本号(当然没有在dependenlies里面管理的依赖自然需要声明版本号)
在这里插入图片描述
spring-boot-starter-web

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

spring-boot-starter:spring-boot场景启动器:帮我们导入了web模板正常运行所依赖的组件;
spring boot将所有的功能场景都抽取出来,做成一个个的starters(启动器)只需要在这些项目中引入这些starter相关场景的所有依赖,要用什么功能就导入什么启动器。

8.使用向导sprng initializr快速创建项目

DEF都支持使用spring的项目创建向导快速创建一个springboot项目:
选择我们需要的模块;向导会联网创建spring boot项目;
默认生成的springboot项目;
其中@RestController
是@RespondBody和Controller的合体.所以写一个就相当于两个一起产生功能
在这里插入图片描述

主程序已经生成好了,我们只需要我们自己的逻辑
resources文件夹目录结构
static:保存所有的静态资源:js css images
templates:保存所有的模板页面:(SpringBoot默认jar包使用嵌入式tomcat 不包括jsp)
application.properties可以修改一些默认配置文件

四,配置文件

1.两种配置文件介绍
springboot使用一个全局配置文件,配置文件名是固定的

application.properties
application.yml

配置文件的作用:修改springboot自动配置的默认值;springboot在底层给我们自动配置好;

YAML(YAML Ain t MARKUP LUABGUAGE)
标记语言;

以前的配置文件;大多使用的xxx.xml文件
yml以数据为中心.

在这里插入图片描述
2.YAML语法:

1.基本语法

k(空格):v标识一对键值对(空格必须有);
以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的

server:
prot:8081
path:/hello
属性和值也是大小写敏感:

2.值的写法

字面量:普通的值(数字,字符串,布尔)

k:V:字面直接来写:
字符串默认不用加上单引号或者双引号;
“”:双引号:不会转义字符串里面的特殊字符:特殊字符会作为本身想表示的意思
name:“zhangsna\n lisi” 输出“:zhangsan 换行 lisi
‘’ :单引号:会转移特殊字符:特殊字符最终知识一个普通字符串数据
name:“zhangsna\n lisi” 输出“:zhangsan \n lisi

对象.Map(属性和值)(键值对):
k:V
对象还是K:V的方式
friends
lastName:zhangsan
age:20


行内写法:

friends:{lastName: zhangsan,age: 20}


friends:
		lastName: zhangsan
		age: 20

数组(List。Set)

:用-值表示数组中的一个元素

pets:
-  cat
-  dog
- pig

行内写法:

pets:[ cat,dog,pig]

注意空格

例子:

在这里插入图片描述

在这里插入图片描述
添加配置文件标注:
@ConfigurationProperties(prefix = “Person”)
告诉springboot将本类中所有的属性和配置文件中相关的配置进行绑定:
prefix=”person“:配置文件中那个下面的所有属性一一映射
只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能

在这里插入图片描述

这里会报:
在这里插入图片描述

打开 添加依赖即可:

在这里插入图片描述

此外还要添加一个容器:
@Component

在这里插入图片描述

测试:

springboot项目本省提供了一个test类 不用手动juilt单元测试类

在这里插入图片描述
只需要注入:
在这里插入图片描述

结果:

在这里插入图片描述
配置properties文件编码问题

在properties配置文件中写入:
在这里插入图片描述

在这里插入图片描述
这样就不会出现中文乱码
在这里插入图片描述

@ConfigurationProperties与@Value的区别

value语法

@Value(”${xxx}“)

支持效验 需要添加注解:@Validated
在这里插入图片描述

@PropertySource@ImportResource

@ProertySource:加载指定的配置文件

在这里插入图片描述
在这里插入图片描述

@ImportResource:导入spring配置文件,让配置文件生效

@ImportResource(locations={"classpath:beans.xml"})

测试编写:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

SpringBoot推荐给容器中添加组件的方式;推荐使用全注解的方式

1.配置类======spring配置文件
2.使用@Bean给容器中添加组件

在这里插入图片描述

在这里插入图片描述
名称必须要一致。

配置文件占位符

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

打印输出结果:

在这里插入图片描述

Profile

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

配置文件的加载顺序:

在这里插入图片描述

外部配置文件加载顺序:

在这里插入图片描述

springboot的日志框架:
略(待编写)

发布了76 篇原创文章 · 获赞 9 · 访问量 6770

猜你喜欢

转载自blog.csdn.net/qq_37870369/article/details/96497031