spring|十年架构师,带你初识SSM框架结构,深入开发Java就在今天


spring|十年架构师,带你初识SSM框架结构,深入开发Java就在今天
文章图片
spring|十年架构师,带你初识SSM框架结构,深入开发Java就在今天
文章图片
spring|十年架构师,带你初识SSM框架结构,深入开发Java就在今天
文章图片
spring|十年架构师,带你初识SSM框架结构,深入开发Java就在今天
文章图片
spring|十年架构师,带你初识SSM框架结构,深入开发Java就在今天
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容) 。 常作为数据源较简单的web项目的框架 。 今天 , 咱们就在一起认识学习SSM架构 。
Spring框架Spring框架是Java应用最广的框架 。 它的成功来源于理念 , 而不是技术本身 , 它的理念包括IoC(Inversion of Control , 控制反转)和AOP (Aspect Oriented Programming , 面向切面编程) 。
Spring loC简介
IoC是一个容器 , 在Spring中 , 它会认为--切Java资源都是JavaBean容器的目标就是管理这些Bean和它们之间的关系 。 所以在Spring IoC里面装载的各种Bean也可以理解为Java的各种资源 , 包括Java Bean 的创建、事件、行为等 , 它们由IoC容器管理 。 除此之外 , 各个JavaBean之间会存在一定的依赖关系 , 比如班级是依赖于老师和学生组成的 , 假设老师、学生都是Java Bean那么显然二者之间形成了依赖关系 , 老师和学生有教育和被教育的关系 。 这些Spring IoC容器都能够对其进行管理 。 只是Spring IoC管理对象和其依赖关系 , 采用的不是人为的主动创建 , 而是由Spring IoC自己通过描述创建的 , 也就是说Spring是依靠描述来完成对象的创建及其依赖关系的 。
比如插座 , 它依赖国家标准(这个标准可以定义为一个接口 , Socket) 去定义 , 现有两种插座( Socket1和Socket2) , 如下图所示 。
有两种插座可供选择 , 具体使用哪种呢?我们可以通过代码来实现使用插座1(Socket1) 。
Socket socket= new Socket1() ;
user. setSocket (socket) ;
user. useSocket () ;

使用Socket socket = new Socket10);后 , 国家标准插座接口( Socket)就和插座1( Socket1)捆绑在一起了 。 这样就会有一个弊端:如果要使用其他的插座 , 就需要修改代码了 。 这种情况Socket接口和其实现类Socketl 耦合了 , 如果有一天不再使用Socketl而是要使用Socket2那么就要把代码修改为以下示例 。
Socket socket = new Socket2 () ;
user. setSocket (socket) ;
user. useSocket() ;

如果有其他更好的插座 , 岂不是还要修改源码?一个大型互联网的对象成千上万 , 如果要不断修改 , 那么对系统的可靠性将是极大的挑战 , Spring IoC可以解决这个问题 。 首先 , 我们不用new的方式创建对象 , 而是使用配置的方式 , 然后让Spring IoC容器自己通过配置去找到插座 。 先用一段XML描述插座和用户的引用插座1 , 如下
<bean id=\"socket\" class=\"Socket1\"/>
<bean id=\"user\" class=\"xxx.User\">
<property name=\"socket\" ref=\"socket\"/>
< /bean>

请注意这些不是Java代码 , 而是XML配置文件 , 换句话说只要把配置切换为: