Index
- Spring核心:IOC
- Spring核心:AOP
- @Controllable, @Component, @Service 的使用
- SpringMVC: 如何使用 @RequestMapping,@RequestParams,@RequestVariables
- Spring Redis
- Spring MongoDB
- 如何架构 Redis session
- 如何架构多个datasource
- 缓存:@Cacheable, @Cacheevict, @Cacheput
- 事务:@Transactional
- SpEL:必须掌握的几个要点
- 定时任务:@Scheduled, 与Quartz
- xxxViewResolvers
- 文件上传:MultipartResolvers
- Json:jackson与gson
- webService的实现
- websocket
- 拥抱SpringBoot
- 拥抱SpringCloud
写在开始:理解Spring的本质:一个超级大容器
Spring学习路径:
- 学java:是的我不是在搞笑,很多小白对java的基本概念都不清楚,包括annoation,反射,接口
- 学servlet:重点是servlet的注册和使用
- 看Spring官方文档:当然能看得懂整个文档的同学们也就没必要再往下看了
- 写web应用,从用户名登录注册开始
Spring是一个超级大容器(container),理解这个很重要。你可以把Spring视作一个超级全家桶,所有系统需要的服务,组件,数据对象,等等等等,都被一股脑地扔在这个全家桶里面,并被统称作Spring beans(豆豆)。在扔进去之前,我们给豆豆们做了一些标记(annotation),这样全家桶可以通过这些标记把不同的豆豆关联起来。当豆豆们相互关联起来之后,就能够提供不同的功能,比如网络请求响应,数据库访问。
Spring中一些常用的概念和术语:
- Spring beans:Java的实体类在Spring框架下的称呼
- POJO:Java实体类
- context(上下文):例如
void func(){
Object obj; //不严谨的一个例子
}
这里调用obj的这个方法func就是obj的context,我们也可以说,obj注册在这个context里面(当然还有一些不严谨,因为这里的obj还不能被func以外的方法调用)。在Spring中,框架能够索引到不同的beans,依靠的就是SpringApplicationContext,所有的beans都注册到这个context中,这样框架就能够引用它们。
从SSH到SMV
Spring+Struts2+Hibernate可能是java培训必点的技术树,没有之一。这个框架没有大的缺陷,我个人不推荐的纯粹原因是我不是科班出来的,对struts和hibernate无感,对node.js和mongoose反而倍感亲切。实际上当我选用Spring+SpringMVC+Mybatis之后,这个框架对我而言异常的直接。SpringMVC负责处理所有的request,用MyBatis和Mapper接口对数据库进行无障碍访问,最后用一层View渲染框架输出网页,这个过程不要太流畅了,而且大部分的内容都是Spring框架之下,学习成本也不高。