超级好用的SpringBoot(1)

8 篇文章 0 订阅

一、简介

1.1 Spring Boot

虽然Spring已经简化了很多开发过程,但是需要配置的东西还是很多很罗嗦,所以在Spring的基础上出现了Spring Boot这个新框架。
大多数Spring Boot应用只需要很少的配置即可,所以 能够起到更快开发的效果。

1.2 微服务

微服务是一种架构风格,要求把应用构建成一系列小服务的组合。

在过去使用单体应用架构,把所有的服务都封装在同一个war包内,但是如果要改动就需要全部重新部署应用war包。所以才出现了微服务架构,把每个功能独立出来,各个功能之间动态组合

二、IDEA快速使用Spring Boot

  1. 新建项目:选择 Spring Initializr ,然后正常填写项目的信息即可,然后选择下一步
    在这里插入图片描述

  2. 在这个页面可以选择各种项目需要的依赖。如果想要创建的是一个web项目,则选择 Web->Spring Web
    在这里插入图片描述

  3. 到此,一个项目就创建好了并且可以直接运行。在src中有一个自动创建出的java文件,这是启动项,是程序的入口,不能删不能改。之后要加入自己的其他代码,则所有的包、代码文件必须和启动项在同一个目录下
    在这里插入图片描述

  4. 我们像在SpringMVC中一样创建一个请求处理器,然后不需要进行任何配置便可直接运行

package com.example.springbootstudy.controller;

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

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "hello,world" ;
    }
}

在这里插入图片描述

  1. 假设现在我们所作的就是一个服务了,那么我们可以将其进行打包成一个jar包:选择 IDEA右侧的Maven选项->生命周期->package 。这样项目就会自动打包成一个jar包放在target目录下。
    在这里插入图片描述

  2. 获得这个jar包之后就相当于得到了一个可以独立运行的程序。打开命令行输入 java -jar jar包路径 便会自动执行这个程序。此时再次在浏览器输入url也能正常运行。最后打包的这个过程就是体现了微服务
    在这里插入图片描述

三、一点点原理

启动器
SpringBoot的启动场景,会将所有的功能场景都变成一个个的启动器。比如spring-boot-starter-web就会自动导入web环境所有的依赖。

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

主程序
创建SpringBoot项目后自动生成的文件。
在类名之前有@SpringBootApplication注解,表明了这个类是SpringBoot的应用
在main方法中的SpringApplication.run()方法将SpringBoot应用启动。这个SpringApplication主要做了四件事:

  • 推断应用是普通项目还是web项目
  • 查找并加载所有可用初始化器,设置到initializers属性中
  • 找出所有的应用程序监听器,设置到listeners属性中
  • 推断并设置main方法的定义类,找到运行的主类

四、配置文件

4.1 简介

SpringBoot使用了一个全局配置文件,作用就是修改SpringBoot自动配置的默认值。当创建项目的时候会在resources目录下自动生成。
文件名固定叫做application,可以有两种格式:

  • application.properties 语法:key=value
  • application.yml 语法:key:空格 value

4.2 YAML

YAML和properties 都可以当作配置文件,但是更推荐使用YAML,因为properties 只能保存键值对,而YAML可以以多种形式进行存储,而且表达起来更清晰。

基本语法:

  • 基本格式: key:空格 value
    冒号之后一定一定要加空格!
name: xiaoming
  • 对象
# 方式一:分行缩进写
student:		#对象名
	name: xiaoming	# 缩进后,属性名: 空格 属性值
	age: 21

# 方式二:行内写法
student: {name: xiaoming, age: 21}
  • 数组
# 方式一:分行缩进写
pets:			# 数组名:
	- dog		# 缩进后, - 空格 元素
	- cat
	- fish

# 方式二:行内写法
pets: [dog, cat, fish]

实体类赋值:
YAML的强大之处在于:可以直接给实体类赋值

  1. 在YAML配置文件中按照上述语法格式填写实体类的属性值,需要注意的是属性名一定要和实体类中的属性名保持一致
  2. 在实体类的类名之前加上@ConfigurationProperties(prefix = “YAML中的key名”)注解,其中的参数就是YAML配置文件中对应的key的名字。起到了将配置文件中的值和实体类对象进行绑定的作用

在这里插入图片描述

多环境配置切换:
在一个项目中可能会有多个环境可以选择,如果使用YAML作为配置文件则可以把不同的环境放在同一个文件中,用 —隔开

# 默认配置
server:
	port: 8081
spring:
	profiles:
		active: dev		# 选择想要的环境名

---		# 不同环境用---隔开
server:
	port: 8082
spring:
	profiles: dev		# 环境名 

---
server:
	port: 8083
spring:
	profiles: test
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值