Spring 框架是由于软件开发的复杂性而创建的。Spring 使用的是基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分 Java 应用都可以从 Spring 中受益。
-
目的:解决企业应用开发的复杂性
-
功能:使用基本的 JavaBean 代替 EJB,并提供了更多的企业应用功能
-
范围:任何 Java 应用
Spring 框架自诞生以来一直备受开发者青睐,今天在这里分享的是一套 Spring 全家桶集合。其中包括了 Spring、SpringBoot、SpringCloud、SpringMVC 四个实战文档,以及 Spring 面试文档,都是经过 BAT 实战精选过的重点内容。【全家桶原文档见文末】
第一部分 Spring 架构分析
-
第 1 章 Spring 启程
-
第 2 章 安装和构建 Spring
-
第 3 章 控制反转(Spring IoC)
-
第 4 章 面向方面编程(Spring AOP)
-
第 5 章 深入 Spring 架构
第二部分 Spring 应用开发
-
第 6 章 命名服务——JNDI
-
第 7 章 事务服务——JTA
-
第 8 章 消息服务——JMS
-
第 9 章 邮件服务——JavaMail
-
第 10 章 企业 Bean 服务——EJB
-
第 11 章 持久化服务——DAO、JDBC、ORM
-
第 12 章 任务调度服务——Quartz、Timer
-
第 13 章 远程服务
第三部分 Spring 高级主题
-
第 14 章 视图技术集成
-
第 15 章 Tapestry 集成
-
第 16 章 JSF 集成
-
第 17 章 用于 Spring 的 Acegi 安全框架
-
附录 A 实例代码安装
-
附录 B spring-beans.dtd 的内容模型
Spring Boot 技术内幕
什么是 Spring boot??
Spring Boot 应用本质上就是一个基于 Spring 框架的应用,Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
Spring Boot 的核心是什么?
-
自动配置
-
起步依赖
-
Actuator
-
命令行界面(CLI)
第一部分 基础应用开发
-
第 1 章 Spring Boot 入门
-
第 2 章 在 Spring Boot 中使用数据库
-
第 3 章 Spring Boot 界面设计
-
第 4 章 提高数据库访问性能
-
第 5 章 Spring Boot 安全设计
第二部分 分布式应用开发
-
第 6 章 Spring Boot SSO
-
第 7 章 使用分布式文件系统
-
第 8 章 云应用开发
-
第 9 章 构建高性能的服务平台
第三部分 核心技术源代码分析
-
第 10 章 Spring Boot 自动配置实现原理
-
第 11 章 Spring Boot 数据访问实现原理
-
第 12 章 微服务核心技术实现原理
-
附录 A 安装 Neo4 j
-
附录 B 安装 MongoDB
-
附录 C 安装 Redis
-
附录 D 安装 RabbitMQ
springMVC 学习指南
Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。
-
第一章 Spring 框架
-
第二章 模型 2 和 MVC 模式
-
第三章 Spring MVC 介绍
-
第四章 基于注解的控制器
-
第五章 数据绑定和 form 标签库
-
第六章 Converter 和 Formatter
-
第七章 验证器
-
第八章 表达式语言(EL)
-
第九章 JSTL
-
第十章 国际化
-
第十一章 上传文件
-
第十二章 下载文件
-
第十三章 应用测试
-
附录 A Tomcat
-
附录 B Spring Tool Suite Maven 和 Maven
-
附录 C servlet
-
附录 D JavaServer Pages
-
附录 E 部署描述符
SpringCloud 微服务
Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。由浅入深带领大家一步步攻克 Spring Cloud 各大模块,接着通过一个实例带领大家了解大型分布式微服务架构的搭建过程,最后深入源码加深对它的了解。
目录
-
第 1 章 基础知识
-
第 2 章 微服务构建:Spring Boot
-
第 3 章 服务治理:Spring Cloud Eureka
-
第 4 章 客户端负载均衡:Spring Cloud Ribbon
-
第 5 章 服务容错保护:Spring Cloud Hystrix
-
第 6 章 声明式服务调用:Spring Cloud Feign
-
第 7 章 API 网关服务:Spring Cloud Zuul
-
第 8 章 分布式配置中心:Spring Cloud Config
-
第 9 章 消息总线:Spring Cloud Bus
-
第 10 章 消息驱动的微服务:Spring Cloud Stream
-
第 11 章 分布式服务跟踪:Spring Cloud Sleuth
-
附录 A Starter POMs
相比于前几年来说,现在的面试难度提升了不少。你说说现在程序员这么多,你投递的公司可能与你一起投递的就有 300 人,可人家只招 5 人,那怎么办?简历 PASS 掉一大批,然后面试再 PASS 掉一大批。从这样来看,现在流行说的:“面试造火箭,工作拧螺丝”还是很有道理的,提高面试难度只是为了从很多人中招到自己需要的那些人。
以下为 spring 常见面试问题:
-
什么是 Spring 框架?Spring 框架有哪些主要模块
-
使用 Spring 框架能带来哪些好处
-
什么是控制反转(IOC)?什么是依赖注入
-
请解释下 Spring 框架中的 IoC
-
BeanFactory 和 ApplicationContext 有什么区别
-
Spring 有几种配置方式
-
如何用基于 XML 配置的方式配置 Spring
-
如何用基于 Java 配置的方式配置 Spring
-
怎样用注解的方式配置 Spring
-
请解释 Spring Bean 的生命周期
-
Spring Bean 的作用域之间有什么区别
-
什么是 Spring inner beans
-
Spring 框架中的单例 Beans 是线程安全的么
-
请举例说明如何在 Spring 中注入一个 Java Collection
-
如何向 Spring Bean 中注入一个 Java.util.Properties
-
请解释 Spring Bean 的自动装配
-
请解释自动装配模式的区别
-
如何开启基于注解的自动装配
-
请举例解释 @Required 注解
-
请举例解释 @Autowired 注解
-
请举例说明 @Qualifier 注解
-
构造方法注入和设值注入有什么区别
-
Spring 框架中有哪些不同类型的事件
-
FileSystemResource 和 ClassPathResource 有何区别
-
Spring 框架中都用到了哪些设计模式
Spring 面试专题有答案
SpringBoot 面试专题
-
Spring Boot 的优点有
-
什么是 JavaConfig
-
如何重新加载 Spring Boot 上的更改,而无需重新启动服务器
-
Spring Boot 中的监视器是什么
-
如何在 Spring Boot 中禁用 Actuator 端点安全性
-
如何在自定义端口上运行 Spring Boot 应用程序
-
什么是 YAML
-
如何实现 Spring Boot 应用程序的安全性
-
如何集成 Spring Boot 和 ActiveMQ
-
如何使用 Spring Boot 实现分页和排序
-
什么是 Swagger?你用 Spring Boot 实现了它吗
-
什么是 Spring Profiles
-
什么是 Spring Batch
-
什么是 FreeMarker 模板
-
如何使用 Spring Boot 实现异常处理
-
您使用了哪些 starter maven 依赖项
-
什么是 CSRF 攻击
-
什么是 WebSockets
-
什么是 AOP
-
什么是 Apache Kafka
-
我们如何监视所有 Spring Boot 微服务
springboot 专题与答案
SpringCloud 面试专题
-
使用 Spring Cloud 有什么优势
-
服务注册和发现是什么意思?Spring Cloud 如何实现
-
负载平衡的意义什么
-
什么是 Hystrix?它如何实现容错
-
什么是 Hystrix 断路器?我们需要它吗
-
什么是 Netflix Feign?它的优点是什么
-
什么是 Spring Cloud Bus?我们需要它吗
SpringMVC 面试专题
-
什么是 SpringMvcSpring MVC 的优点
-
SpringMVC 工作原理
-
SpringMVC 流程
-
SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决
-
如果你也用过 struts2.简单介绍下 springMVC 和 struts2 的区别有哪些
-
SpingMvc 中的控制器的注解一般用那个,有没有别的注解可以替代
-
@RequestMapping 注解用在类上面有什么作用
-
怎么样把某个请求映射到特定的方法上面
-
如果在拦截请求中,我想拦截 get 方式提交的方法,怎么配置
-
怎么样在方法里面得到 Request,或者 Session
-
我想在拦截的方法里面得到从前台传入的参数,怎么得到
-
如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象
-
SpringMvc 中函数的返回值是什么
-
SpringMVC 怎么样设定重定向和转发的
-
SpringMvc 用什么对象从后台向前台传递数据的
-
SpringMvc 中有个类把视图和数据都合并的一起的,叫什么
-
怎么样把 ModelMap 里面的数据放入 Session 里面
-
SpringMvc 怎么和 AJAX 相互调用的
-
当一个方法向 AJAX 返回特殊对象,譬如 Object,List 等,需要做什么处理
-
SpringMvc 里面拦截器是怎么写的
-
讲下 SpringMvc 的执行流程