目录
1、Spring的官网
2、正式介绍SpringFramework
3、我的下一篇文章
1、Spring的官网
我本人一直都认为,学任何东西都应该尽量的从根上开始学起;Spring作为一个目前而言JAVA后端很流行的一个开源框架,它是有官网的,下面是它的官网地址(可以直接在百度上搜 Spring官网就可以):
其实我们还是尽量看英文吧,看的习惯了其实觉得就好了,就像使用IDEA一样,起初总想做个汉化包 ,用的时间长了,也习惯英文了;
看它头部的导航栏,我们鼠标放在 Projects上面可以看到这个家族的其它框架;
我们点击这个下拉框的 overview可以综合看到它提供的框架;
SpringFramework框架中有几大核心,其中一个就是 IOC(依赖注入,控制反转),
Spring家族中还有 SpringData ,就是数据,包括关系型数据MySQL等,
还有Redis,芒果DB等非关系型数据;
SpringCloud就是微服务,这个我本人了解过,也有对应的CSDN专栏;
SpringSecurity 是一个安全框架,关于权限的;
Spring Session是Spring中会话的概念;
Spring AMQP 是消息队列
Spring Batch 做批量操作
安卓的底层也是JAVA,也可以使用
Spring For Kafak 是处理海量数据有关的;
2、正式介绍SpringFramework
我们可以到Spring FrameWork的页面上看一下,如下图所示:(注意看我截图地址栏的链接)
像上图一样,目前版本已经出到6了,但是我们开发常用的是带有红色GA的版本,GA代表着稳定版;每一个版本后面我们可以看这个版本的API文档或者是参考文档(这里多说一下:我觉得任何一个技术,框架或者是软件,我们并不要总追求最新版本,版本适中就可以,或者随大流,用那种用的人最多的版本。合适的才是最好的吧,但是也不要因为这个而不去学习最新版本的知识)。
下面我们看一看5.3.16版的参考文档,如下图所示:
上图是相关文档的页面;
而我们主要需要学习的是上图中的 Core哪一行,我们可以点进Core中,再跳一个页面
在新跳进来的一个页面,可以看里面的解释;
下图就是Core页面:
首先是关于对 IOC容器的解释:
SpringFrame框架是一个开源的JavaEE的应用程序;
主要核心是IOC(依赖注入和控制反转)和AOP(面向切面编程)
这里AOP的底层是动态代理;IOC的控制反转可以简单理解为就是Bean对象的实例化,相当于我们最开始的new一个对象。它使用的是反射机制。Bean对象的实例化有三种方式:构造器实例化,静态工厂实例化和实例化工厂实例化。依赖注入简单来说就是赋值操作。注入也有手动注入和自动注入。开发中都愿意使用自动注入。这是比较核心的部分,也是基础!!
这里我们先梳理一下:
一般来讲,Dao层就是跟数据库交互的,底层就是JDBC,框架是MyBatis
Service层:这里说一下,SpringFrame框架并不是针对Service层的业务逻辑的,Service没有合适框架
Controller层次:Servlet(接收请求,响应数据,地址配置,页面转发或重定向) 框架是SpringMVC
SpringFramework是基于分布式的应用程序,属于轻量级的框架;
它可以进行配置管理,可以进行Bean对象的实例化(也就是以前new一个实例对象);
Bean对象的实例化是IOC去做的;
SpringFramework还可以集成第三方的框架:MyBatis,Hibernate,SpringMVC,Spring Security,
Quartz时钟框架(定时任务处理),Elasticsearch搜索引擎
SpringFramework也有 自带服务:Mail邮件发送,Task定时任务,消息处理(RabbitMQ)
Spring模块的划分:
Spring IOC模块:Bean对象实例化,Bean的创建;
Spring AOP模块:面向切面编程, 主要是通过 动态代理实现的;
Spring JDBC+事务模块;
Spring Web模块, 这一块主要就是 SpringBoot框架;
框架的底层是使用反射来实现的;
Bean对象的实例化使用的就是反射;
SpringIOC对Bean对象实例化的方法有三种:构造器实例化(最常用),静态工厂实例化、
以及 实例化工厂实例化;
当然啦,我们Bean对象也还是有 生命周期和作用域的;
我上面记录的比较的简单,下面我贴三张图,是我从网上找的,可以再深入理解认识一下:
大概就是这么多了。
我本人目前也是新手,就不过多的纠结SpringFramework的底层或者是深入了解它了,对它有一个初步的认识就可以啦,有机会还是应该把参考文档全都看一遍的;
概述我就记录到这里,后面这个专栏的文章我记录一下怎么用和一些我遇到的问题!
大家看到的可以点个赞!!万分感谢!!