Spring Boot

Spring Spring boot 获取IOC中的bean,ApplicationContext

China☆狼群 提交于 2021-01-21 03:24:01
https://blog.csdn.net/weixin_38361347/article/details/89304414 https://www.jianshu.com/p/9ea13b00b1d9 https://blog.csdn.net/zsw12013/article/details/51701671 ____________________________________________________________________________________________________________________________ SpringBoot中获取ApplicationContext的三种方式 ApplicationContext是什么? 简单来说就是Spring中的容器,可以用来获取容器中的各种bean组件,注册监听事件,加载资源文件等功能。 Application Context获取的几种方式 1 直接使用Autowired注入 @Component public class Book1 { @Autowired private ApplicationContext applicationContext; public void show (){ System.out.println(applicationContext.getClass(

云原生 DevOps 的 5 步升级路径

笑着哭i 提交于 2021-01-20 18:19:45
作者 | 张裕 编辑 | 雅纯 来源| 阿里巴巴云原生公众号 什么是云原生 DevOps 点击查看视频: https://v.qq.com/x/page/u3220cutt7v.html 我们先通过上面一个简短视频和下面两张图,来了解什么是云原生 DevOps,它和 DevOps 有什么不同。 上图是一个大排档,图中的大厨在非常努力的去切、炒、制作各种美食,并将它卖出去。从原材料的采购到加工到销售到售后,都是一两个人完成。这是非常典型的 DevOps 场景,团队搞定端到端的所有的事情。这种情况,当厨师水平比较高、销售能力比较强的时候,可以做到高效率、低浪费。但存在的问题是,想要规模化会很难。因为它的流程都是非标准的,需要厨师有很强的个人能力。 我们再看上面这张南京大排档的图,虽然名字里有大排档,但它显然不是我们上面说的大排档。我们随便走进任何一家南京大排档,都可以发现,南京大排档的厨师,可以专注在为客户提供更好的菜品上,研发试验新菜品,并通过小批量的用户来尝试和推广。无论是用户量增加或减少,都能很快的去适应。店铺扩张也可以很快。这种我们可以理解为云原生 DevOps。 那究竟什么是云原生 DevOps 呢?我们认为:云原生 DevOps 是充分利用云原生基础设施,基于微服务/无服务架构体系和开源标准,语言和框架无关,具备持续交付和智能自运维能力,从而做到比传统 DevOps

废弃fastjson!大型项目迁移Gson保姆级实战

☆樱花仙子☆ 提交于 2021-01-20 03:37:05
前言 大家好,又双叒叕见面了,我是天天放大家鸽子的蛮三刀。 在被大家取关之前,我立下一个“远大的理想”,一定要在这周更新文章。现在看来,flag有用了。。。 本篇文章是我这一个多月来帮助组内废弃fastjson框架的总结,我们将大部分Java仓库从fastjson迁移至了Gson。 这么做的主要的原因是公司受够了fastjson频繁的安全漏洞问题,每一次出现漏洞都要推一次全公司的fastjson强制版本升级,很令公司头疼。 文章的前半部分,我会简单分析各种json解析框架的优劣,并给出企业级项目迁移json框架的几种解决方案。 在文章的后半部分,我会结合这一个月的经验,总结下Gson的使用问题,以及fastjson迁移到Gson踩过的深坑。 文章目录: 为何要放弃fastjson? fastjson替代方案 三种json框架的特点 性能对比 最终选择方案 替换依赖时的注意事项 谨慎,谨慎,再谨慎 做好开发团队和测试团队的沟通 做好回归/接口测试 考虑迁移前后的性能差异 使用Gson替换fastjson Json反序列化 范型处理 List/Map写入 驼峰与下划线转换 迁移常见问题踩坑 Date序列化方式不同 SpringBoot异常 Swagger异常 @Mapping JsonObject作为入参异常 注意:是否使用fastjson是近年来一个争议性很大的话题

Mybatis-plus常用API全套教程,看完没有不懂的

余生颓废 提交于 2021-01-19 18:58:34
前言 官网: baomidou.com/ 创建数据库 数据库名为mybatis_plus 创建表 创建user表 DROP TABLE IF EXISTS user ; CREATE TABLE user ( id BIGINT ( 20 ) NOT NULL COMMENT '主键ID' , name VARCHAR ( 30 ) NULL DEFAULT NULL COMMENT '姓名' , age INT ( 11 ) NULL DEFAULT NULL COMMENT '年龄' , email VARCHAR ( 50 ) NULL DEFAULT NULL COMMENT '邮箱' , PRIMARY KEY ( id ) ); INSERT INTO user ( id , name , age, email) VALUES ( 1 , 'Jone' , 18 , 'test1@baomidou.com' ), ( 2 , 'Jack' , 20 , 'test2@baomidou.com' ), ( 3 , 'Tom' , 28 , 'test3@baomidou.com' ), ( 4 , 'Sandy' , 21 , 'test4@baomidou.com' ), ( 5 , 'Billie' , 24 , 'test5@baomidou.com' ); 注意:

云原生DevOps的5步升级路径

▼魔方 西西 提交于 2021-01-19 12:35:01
简介: 究竟什么是云原生DevOps呢?我们认为:云原生DevOps是充分利用云原生基础设施,基于微服务/无服务架构体系和开源标准,语言和框架无关,具备持续交付和智能自运维能力,从而做到比传统DevOps更高的服务质量、更低的开发运维成本,让研发专注于业务的快速迭代。 1、什么是云原生DevOps 我们先通过一个简单的例子来了解什么是云原生DevOps,它和DevOps有什么不同。 上图是一个大排档,图中的大厨在非常努力的去切、炒、制作各种美食,并将它卖出去。从原材料的采购到加工到销售到售后,都是一两个人完成。这是非常典型的DevOps场景,团队搞定端到端的所有的事情。这种情况,当厨师水平比较高、销售能力比较强的时候,可以做到高效率、低浪费。但存在的问题是,想要规模化会很难。因为它的流程都是非标准的,需要厨师有很强的个人能力。 我们再看这张南京大排档的图,虽然名字里有大排档,但它显然不是我们上面说的大排档。我们随便走进任何一家南京大排档,都可以发现,南京大排档的厨师,可以专注在为客户提供更好的菜品上,研发试验新菜品,并通过小批量的用户来尝试和推广。无论是用户量增加或减少,都能很快的去适应。店铺扩张也可以很快。这种我们可以理解为云原生DevOps。 那究竟什么是云原生DevOps呢?我们认为:云原生DevOps是充分利用云原生基础设施,基于微服务/无服务架构体系和开源标准

spring boot不启动的情况下进行mongodb和redis访问测试

那年仲夏 提交于 2021-01-18 19:38:34
现在spring boot越来越重,每次要测试个什么东西必须要启动boot然后调用controller或者用boot test写单元测试,这两种我个人觉得都比较麻烦;我这边平常测试mongodb和redis处理都是直接写main代码进行测试,为了使用到spring提供的template类,我们需要自己初始化mongo和redis的客户端连接: mongodb连接初始化: import com.mongodb.MongoClient; import com.mongodb.MongoCredential; import com.mongodb.ServerAddress; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.SimpleMongoDbFactory; import org.springframework.data.mongodb.core.convert.DbRefResolver; import org.springframework.data.mongodb.core.convert.DefaultDbRefResolver; import org.springframework.data.mongodb

是找茬?还是装B?阿里面试每轮必问的“Spring Boot”意义何在?

瘦欲@ 提交于 2021-01-18 17:00:28
如今微服务如日中天,Spring Boot作为构建Spring Cloud全家桶的基础框架,早已经成长为后端的主流技术了,同时它也是Java工程师面试必问的知识点。 这一点呢,我是深有体会,因为每天都有大量读者都会在小编后台给我留言,说希望多分享一些SpringBoot相关的内容,每天也有大量学员检索SpringBoot相关的视频以及学习资料。 所以,今天小编就来给大家带来一波福利!在这篇文章我会推荐一些优质的 Spring Boot 实战书籍 (Spring Boot实战派以及Spring Boot2实战之旅) 帮助大家深入学习 Spring Boot。文章质量的话,大家可以放心。同时,小编还专门为大家准备了一份突击金三银四的面试必备宝典,有想要获取的小伙伴在文末有领取方式!! 废话不多说,我们直奔主题: Spring Boot实战派 入门篇(1~3章) 基础篇(4~6章) 进阶篇(7~13章) 文章重点 Spring Boot 进阶 本章首先介绍AOP、loC、Servlet容器;然后深入讲解自动配置原理、自定义 Starter、自定义注解:最后讲解异常的处理,以及如何进行单元测试 用ORM操作 SQL数据库 集成安全框架,实现安全认证和授权 集成NoSQL数据库,实现搜索引擎 集成Redis,实现高并发 本章首先介绍Redis的原理、概念、数据类型

大坑:url中+丢失的问题

旧街凉风 提交于 2021-01-18 11:31:14
1.url加号丢失问题 今天在springboot项目,从前端url传入了Base64编码的字符串数据,结果发现后端报错。。。查了半天,最后发现url中+被替换成空格了!!! 2.解决办法 既然+号丢失,那使用url编码就好了,url编码后再发送,正常执行。 来源: oschina 链接: https://my.oschina.net/u/4290246/blog/4909991

Spring Boot配置文件加载

微笑、不失礼 提交于 2021-01-18 10:39:00
Spring Boot 配置文件加载位置 Spring Boot启动会扫描以下位置的 application.properties 或者 application.yml 文件作为Spring Boot的默认配置文件: -file:./config/ -file:./ classpath:/config/ classpath:/ 以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级内容会覆盖低优先级内容。我们也可以通过配置 spring.config.local 来改变默认配置。 来源: oschina 链接: https://my.oschina.net/u/4950428/blog/4910066

spring boot的作用与基本原理

做~自己de王妃 提交于 2021-01-18 05:31:25
springBootApplication 是个集合配置,加上这个注解就等于 enableAutoConfig, 1. 自动配置 @enableAutoConfig 即为自动配置。 无需web.xml,spring-mvc.xml,application.xml的配置,spring boot在项目启动时,按照默认配置。 @Bean 2. 内嵌tomcat 3. 来源: oschina 链接: https://my.oschina.net/zhaolin/blog/4907351