springBoot学习

springBoot学习路线

springboot学习

  1. 什么是springboot
    简化开发 预定大于配置

  2. 什么是微服务
    service (业务) => 模块
    spring controller =》提供接口

创建一个springboot项目

直接在idea中创建
创建springboot项目
pom文件解析
在这里插入图片描述
执行打jar包
在这里插入图片描述
jar包相当于一个单独的模块,可独立运行

彩蛋:换banner
banner地址
在这里插入图片描述

springboot原理

1.自动装配

  1. spring-boot-dependencies 核心依赖父工程
  2. 我们在写或者引入springboot依赖时不需要指定版本,因为父工程已经配置好了
    2.启动器:
      <dependency>
            <!--web 内嵌tomcat  dispatchservlet等等-->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        

说白了:spring-boot-starter就是springboot需要启动的场景
比如spring-boot-starter-web会帮我们导入web需要的包
springboot将所有的场景变成了一个个的启动器,我们需要使用什么场景只要的找到对应对的启动器即可。

  1. 主程序:
@SpringBootApplication
public class DemoApplication {


```java
@SpringBootApplication//标注这个类是一个springboot的应用
public class DemoApplication {

//启动
   public static void main(String[] args) {
       SpringApplication.run(DemoApplication.class, args);
   }

}
@SpringBootConfiguration://springboot 的配置
  @Configuration spring的配置
  @Component   这也是一个spring的组件



@EnableAutoConfiguration:自动导入配置
   @AutoConfigurationPackage:  自动配置包
       @Import({Registrar.class}) 导入注册器包
   @Import({AutoConfigurationImportSelector.class})  自动导入选择配置器包
   


结论:springboot所有的自动配置都在启动的时候扫描并加载,spring.factories所有的自动配置类都在这里面,但不是所有的都会生效,要判断条件是否成立,只要导入了对应的start,如(spring-boot-starter-web),就有对应的启动器了,有了启动器自动装配就会生效,就会配置成功了。
1.springboot在启动时,在类路径下/META/INFO/spring.factories文件下获取指定的值。
2.将这些自动配置的类导入容器,自动配置就会生效。
3.以前我们需要配置的东西,现在有springboot自动配置。
4.整个javaee ,解决方案和自动配置都在 spring-boot-autoconfigure.jar这个包下。
在这里插入图片描述

在这里插入图片描述

yaml可以给实体类赋值

数据校验
@NotNull(message=“名字不能为空”)
private String userName;
@Max(value=120,message=“年龄最大不能查过120”)
private int age;
@Email(message=“邮箱格式错误”)
private String email;

空检查
@Null 验证对象是否为null
@NotNull 验证对象是否不为null, 无法查检长度为0的字符串
@NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.
@NotEmpty 检查约束元素是否为NULL或者是EMPTY.

Booelan检查
@AssertTrue 验证 Boolean 对象是否为 true
@AssertFalse 验证 Boolean 对象是否为 false

长度检查
@Size(min=, max=) 验证对象(Array,Collection,Map,String)长度是否在给定的范围之内
@Length(min=, max=) string is between min and max included.

日期检查
@Past 验证 Date 和 Calendar 对象是否在当前时间之前
@Future 验证 Date 和 Calendar 对象是否在当前时间之后
@Pattern 验证 String 对象是否符合正则表达式的规则

…等等
除此以外,我们还可以自定义一些数据校验规则

在这里插入图片描述
优先级1:项目路径下的config文件夹配置文件
优先级2:项目路径下配置文件
优先级3:资源路径下的config文件夹配置文件
优先级4:资源路径下配置文件

多环境配置:
在这里插入图片描述
此处名称中的为横线-而不是_

yaml格式的多环境
在这里插入图片描述
访问静态资源:
在这里插入图片描述
引入模板引擎

  <dependency>
            <!-- 前后端分离的模板引擎 -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值