Spring Data

收藏从未停止!阿里Spring全栈学习宝典2021全新开源

谁说我不能喝 提交于 2021-02-19 15:15:28
Spring 5.0 我们做这行的对于Spring的学习,可以说是一直未停止。前段时间Spring5.0发布,多了很多新功能,这些新功能改变了我们使用该框架的方式。但是 很多铁汁对于Spring 5.0的新增功能并不是很了解,更别说利用这些新功能使用Spring MVC构建应用程序,使用Spring Framework构建并扩展微服务,以及如何开发和部署云应用程序了。 对于Spring,虽然大家在工作中离不开这个框架,但是在简历上却没有太多人敢写精通。如果大家想要深入学习Spring,真正成为一名Spring精通者,那么下面这份Spring全栈宝典大家可一定不要错过! 这份Spring全栈宝典演示了应用程序架构的进化过程——从单体架构到围绕微服务构建的架构。此外,还介绍来SpringBoot的高级功能,并通过强大的实例演示这些功能。 由于文档有358页篇幅限制不能全部为大家展示出来,需要的朋友帮忙点zan+zhaun发,关注我之后直接添加小助理vx:bjmsb2020 即可获取免费下载方式! Spring全栈宝典 目录总览 向Spring Framework 5.0进化&依赖注入 使用Spring MVC 构建Web应用程序 向微服务和云原生应用程序进化 使用Spring Boot构建微服务 扩展微服务 Spring Boot的高级功能 Spring Data Spring

MongoDB和Java(6):Spring Data整合MongoDB副本集、分片集群

a 夏天 提交于 2021-02-18 02:17:58
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装、客户端操作、安全认证、副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很大。特此记录,以备查看。 文章目录: MongoDB和Java(1):Linux下的MongoDB安装 MongoDB和Java(2):普通用户启动mongod进程 MongoDB和Java(3):Java操作MongoB MongoDB和Java(4):Spring Data整合MongoDB(XML配置) MongoDB和Java(5):Spring Data整合MongoDB(注解配置) MongoDB和Java(6):Spring Data整合MongoDB副本集、分片集群 MongoDB和Java(7):MongoDB用户管理 本文记录如何整合Spring data和MongoDB副本集、分片集群。 Java客户端这边的开发环境和《 MongoDB和Java(5):Spring Data整合MongoDB(注解配置) 》是一样的,实体类、数据层接口、测试类代码都不需要太多的改动,主要需要改的就是mongo的连接属性文件、MongoClient的创建方式。 源代码下载 MongoDB和Java学习代码.zip 1、副本集环境 主:10.10.13.195:27017 从:10

官方Spring Boot starters整理

不问归期 提交于 2021-02-02 18:45:08
Spring Boot starters Spring Boot 的功能组件(例如 spring-boot-starter-actuator、 spring-boot-starter-data-redis 等)的步骤非常简单,用著名的把大象放冰箱的方法来概括的话,有以下三步就可以完成组件功能的使用: STEP 1 在 pom 文件中引入对应的包,例如: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> STEP 2 在应用配置文件中加入相应的配置,配置都是组件约定好的,需要查看官方文档或者相关说明。有些比较复杂的组件,对应的参数和规则也相应的较多,有点可能多大几十上百了。 STEP 3 以上两步都正常的情况下,我们就可以使用组件提供的相关接口来开发业务功能了。下面我整理了官方提供的starter.我们来看一看. 1、application starters 应用程序级的 Starters <table> <thead> <tr> <th>Starter 名称</th> <th>Starter 描述</th> </tr> </thead> <tbody> <tr> <td>spring

Java后端技术学习体系——韩顺平

筅森魡賤 提交于 2021-02-02 11:57:43
文章目录 第一部分:Java基础 变量、控制结构、OOP(封装,继承,多态)、数组、Java API、异常和处理、集合、泛型、IO、反射、网络通信 第二部分:Java高级 1. Java多线程/高并发 1.1 并发基础 互斥同步、非阻塞同步、指令重排、synchronized、 volatile 1.2 线程 1.3 锁 自动锁、偏向锁、可重入锁 1.4 线程池 1.5 并发容器 1.6 JUC executor、collections、locks、alomic(原子类)、tools 2. 数据结构和算法 2.1 数据结构 数组(数组问题)、队列、栈、链表、树、散列、堆、图 2.2 算法 排序(8种)、查找、分治、动态规划(背包问题)、回溯(骑士周游问题)、贪心算法、KMP、Prim、kuskal、flovd-最短路径、(Dij...)最短路径 3. 设计模式(23种) 单例模式、观察者模式、工厂模式、适配器模式、装饰者模式、代理模式、模版模式、职责链模式、其他(组合模式、桥接模式...) 4. JVM JVM体系、类加载机制、双亲委派机制/沙箱安全机制、JMM(Java内存模型)、字节码执行过程、GC(垃圾回收算法)、JVM性能监控和故障定位、JVM调优 第三部分:Java web 1. 前端基础 html、css、JavaScript、ajax、jquery 2. 前端框架

Redis连接池是否有必要?

安稳与你 提交于 2021-01-21 18:08:07
先上结论 redis连接池主要作用体现在执行阻塞命令以及事务,通常情况下没有使用连接池的必要。 如何使用 先来看一下spring boot场景下如何使用redis。spring boot为各种sql,nosql提供了开箱即用的starter。这里关注如何配置集成redis,关于如何使用参考spring data redis文档。先来看一段spring boot document关于spring-boot-starter-data-redis的描述: Spring Boot offers basic auto-configuration for the Lettuce and Jedis client libraries and the abstractions on top of them provided by Spring Data Redis .By default, it uses Lettuce . By default, if commons-pool2 is on the classpath, you get a pooled connection factory. spring boot默认使用lettuce作为客户端,连接池需要依赖 commons-pool2 。所以pom里声明如下依赖: <dependency> <groupId>org

Java常用第三方库大全

牧云@^-^@ 提交于 2021-01-21 11:14:14
一、JAVA核心扩展   JAVA的标准库虽然提供了那些最基本的数据类型操作方法,但仍然对一些常见的需求场景,缺少实用的工具类。而另一些则是JAVA标准库本身不够完善,需要第三方库去加以补充的。   1、Apache Commons Lang   Apache Commons Lang是Apache最著名的JAVA库 (GitHub上的代码库),它是对java.lang的很好扩展,包含了大量非常实用的工具类,其中用的最多的有StringUtils,DateUtils,NumberUtils等。   除了Apache Commons Lang,还有一些其他的Apache库也是对JAVA本身的很好补充,如Apache Commons Collection,Apache Commons IO,Apache Commons Math   2、Google Cuava   Google Cuava包含了Google在自己的JAVA项目中所使用的一些核心JAVA库。包含了对:集合,缓存,并发库,字符串处理, I/O等各个方面的支持。另外Google开发的库总是以性能著称。   3、Joda-Time   Java SE 8之前的JAVA版本中对日期的支持是比较差的,Joda-Time被经常被使用来替换原有的日期系统,它能够支持更多的日历体系,并提供了很多非常方便的日期处理方法

2020年度最常见的Spring Boot面试题【附解析】

无人久伴 提交于 2021-01-13 17:11:40
前言 Spring Boot 是一套快速开发框架,随着微服务架构应用不断普及,Spring Boot 的研发技术的掌握已经成为研发人员必会技能。与此同时,Spring Boot 开源生态建设能力非常强大,提供了很多应用组件,让Spring Boot 有丰富的三方开源软件的使用。 基于上面的情况,Spring Boot 基本上成为了大中型互联网公司面试的必考题。 本篇小编根据大厂的一些面试题库的梳理,将核心的面试提供分享给大家 1、什么是 Spring Boot? Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。 2、Spring Boot 主要有如下优点: 容易上手,提升开发效率,为 Spring 开发提供一个更快、更广泛的入门体验。 开箱即用,远离繁琐的配置。 提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等。 没有代码生成,也不需要XML配置。 避免大量的 Maven 导入和各种版本冲突。 3、Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的? 启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解

Java编程在线学习靠谱吗?能学会吗?

落爺英雄遲暮 提交于 2020-12-22 22:24:33
  Java编程在线学习靠谱吗?能学会吗?在线学习Java的方式靠不靠谱主要看机构的课程,和个人的努力情况。费用、时间上有压力建议选择在线学习,但在线学习对自控能力要求更高,坚持看完整期课程需要自律。如果找到一家靠谱的在线学习平台课程内容有保障,那么学习的方向不会出错。   重点是看Java在线培训机构的课程大纲,那么Java编程在线学习内容有哪些呢?   1、Java核心库   JavaSE的内容包括:环境搭建、基础语法、面向对象、数组、集合、常用类、IO流、反射机制、网络编程。   2、MySQL数据库   搞定一门数据库相关的课程,如:MySQL、Oracle,搞定一个就可以了,目前互联网公司都在使用MySQL,学习MySQL数据库,小巧轻盈,免费,由于互联网公司的项目访问量比较大,所以一般会搭建数据库的集群,可以一个数据库不够,所以需要搭建数据库集群,应付高并发。   3、WEB前端   从事Java开发JavaEE开发,主要开发的系统结构是B/S结构的,B指的是Browser,S指的是Server。要开发这种系统,B端要会,S端也要精通。WEB前端的学习就是学习B端技术。包括:HTML、CSS、JavaScript(JS)、jQuery框架。   4、WEB后端   WEB后端其实可以是很多种不同的编程语言,例如:PHP、C、C++、Java

SpringMvc4.3.10集成mongodb4.4踩坑

末鹿安然 提交于 2020-12-22 18:34:07
参考链接源码 https://github.com/liuleidong/spring-data-mongodb-demo 网上找了一堆都不行, 大多数是因为和spring版本不兼容导致集成失败 如上的demo中采用的是通过bean进行加载的方式, 可行, 此处值得借鉴, 当需要在集成其他插件时可以优先考虑采用bean的方式直接加载 来源: oschina 链接: https://my.oschina.net/lovederh/blog/4829574

基于spring-data 实现mongodb changestream

帅比萌擦擦* 提交于 2020-12-22 05:05:29
最近项目要求对mongodb的数据变更操作记录操作日志,首先想到的是基于spring的AOP对变更的接口进行拦截处理,由于调用接口的点很多不是很方便的去梳理,考虑使用mongodb的CDC机制,实时监控数据的变更。 首先是springboot集成mongodb,mongdb需要是3.6以上的版本才能支持changestream <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> </dependencies> 首先配置mongo监听器,用于接收数据库的变更信息 import com.mongodb.client.model.changestream.ChangeStreamDocument; import lombok.extern.slf4j. Slf4j