SpringBoot相关资料整理

重点:

springboot入门程序
配置文件的使用
springboot与其他框架的整合(mybatis、Redis、单元测试)








一、springboot入门程序(构建工程方式一:创建简单的java工程)
需求:开发一个web应用并完成字符串“hello boot”在浏览器显示
1.1 springmvc开发如何实现
1)、创建web工程
2)、导入springmvc相关的依赖(springmvc、springmvc-web等相关依赖)SpEL
3)、编写controller:添加相关的注解(@RestController = @Controller+@ResponseBody)
4)、编写springmvc的配置文件:配置包扫描 + 注解驱动(处理器映射器 + 处理器适配器) 按需配置
5)、编写web.xml:配置前端控制器
6)、将程序发布到tomcat中

1.2 springboot实现
1)、创建普通的maven工程(java工程)
2)、导入依赖:起步依赖(parent:jar版本控制) + 添加web依赖(springmvc需要的相关依赖)
3)、编写controller:添加相关的注解(@RestController = @Controller+@ResponseBody)
4)、编写一个启动(引导)类:需要“run一下”,相当于将程序发布到tomcat中
4.1 启动类:有且只有一个
4.2 启动类:添加一个注解,@SpringBootApplication(复合注解)
4.3 约定大于配置:默认扫描启动类所在的包以及它的子包



二、springboot入门程序(构建工程方式二:通过spring官方脚手架构建—了解)
1、官方脚手架的版本太新:不建议
2、将工程下载到本地:在idea中导入即可
3、工程结构中:文件夹
3.1 static:存放静态资源(例如:js、css等)
3.2 templates:存放页面



三、springboot版本控制以及@SpringBootApplication注解说明



四、springboot配置文件 application.properties(相同的配置优先级更高)和application.yml可以同时存在
4.1 application.properties
1)语法:key=value,例如:server.port=8081 key1.key2.key3…=value
2)内置的key:不可以随便写。固定的(参考官方文档)
4.2 application.yml/yaml
1)语法:
key1:
key2:
key3:(空格)value
2)、application.properties(相同的配置优先级更高)和application.yml可以同时存在 项目开发:任选一种
4.3 获取配置文件中的值
实际开发中:常见
1)@Value
2)注入Environment对象

   源码中常用的
   3)@ConfigurationProperties:将映射文件中的值映射到pojo的属性   需求:查询所有用户

4.4 切换不同环境下配置



五、springboot与其他框架的整合 mybatis:ORM(对象关系型映射:表与pojo的映射)
5.1 与mybatis的整合,模板代码
1)、在pom中添加依赖:mybatis启动器.jar xxx与spring进行了整合
2)、dao:
a、需要在mapper接口中添加注解,@Mapper注解
b、可以指定加载映射文件的位置

5.2 与Redis的整合
1)在pom文件中添加依赖:Redis启动器依赖
2)在配置文件中连接Redis服务(默认:host,localhost port:6379)
3)开箱即用:在程序中直接注入 XxxTemplate,JdbcTemplate(原生jdbc的封装)
SpringDataXxx:提供的模板对象,都是对原生api的封装。
a、StringRedisTemplate
b、RedisTemplate

5.3 集成定时任务(无需添加额外的依赖,该依赖在web中)
1)开启定时任务的服务 @EnableXxx
2)编写定时任务(指定该任务的执行时间corn(排班表)

5.4 集成单元测试
1)在pom文件中添加依赖
2)单元测试类:@SpringBootTest
要求:与启动类在同一个包或者启动类的子包下








在这里插入图片描述RedisTemplate 和 StringRedisTemplate的区别:
1、RedisTemplate 的序列化采用的是 JdkSerializationRedisSerializer ,在存储到 Redis 的时候会将 对象 序列化为 字节数组
2、StringRedisTemplate 的序列化采用的是 StringRedisSerializer ,适用于存储的 value 为 String 的情况
结论:
Redis 中存储对象使用 RedisTemplate ,存储字符串使用 StringRedisTemplate

JdkSerializationRedisSerializer 和 StringRedisSerializer
1、JdkSerializationRedisSerializer底层还是通过调用JDK的IO操作ObjectInputStream和ObjectOutputStream类实现POJO的序列化和反序列化,优点是反序列化时不需要提供类型信息(class),但缺点是需要实现Serializable接口,还有序列化后的结果非常庞大,是JSON格式的5倍左右,这样就会消耗redis服务器的大量内存。

2、使用Jackson库将对象序列化为JSON字符串。优点是速度快,序列化后的字符串短小精悍,不需要实现Serializable接口。但缺点也非常致命,那就是此类的构造函数中有一个类型参数,必须提供要序列化对象的类型信息(.class对象)








1、快速构建项目(引入jar依赖)
2、对主流开发框架的无配置集成(开箱即用)
3、项目可独立运行,无需依赖外部的servlet容器(tomcat)
4、提供运行时的应用监控
5、极大的提高了开发效率、部署效率



springboot入门程序:
1、创建工程
2、编写启动类
3、编写配置文件(application.properties/yml/yaml)
4、编写相关业务代码
如有页面和静态资源:在resources目录下创建:
templates:存放HTML页面
static:存放静态资源



applicat.yml:
要求:
1、区分大小写
2、数据值前必须有空格,作为分隔符
3、缩进的空格数目不重要,只需要对齐即可




获取配置文件中的值:
获取值的方式:
1、@value注解的方式
2、注入Environment的方式
3、@ConfigurationProperties




@ConfigurationProperties取值
作用:前缀定义了哪些外部属性将绑定到指定类的字段上



使用场景:
1、如果只是某个业务中需要获取配置文件中的某项值或者设置具体值,可以使用@Value或Environment;
2、如果一个JavaBean中大量属性值要和配置文件进行映射,可以使用@ConfigurationProperties;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值