spring , springmvc , myBatis , 也就是ssm , springmvc对应的是controller层 ,spring
myBatis对应的是持久层 , 而spring不属于任何层 , 主要是用来进行层与层之间的解耦 , 来链接编程
springmvc控制框架和mybatis持久层框架 , 和springmvc同功能的框架还有struts2框架 , 和myBatis同mybatis
功能还有hibernate框架 , 若是用的持久层框架是 hibernate那么就是 ssh了 , 控制层和持久层的两个框mvc
架能够任意搭配 .app
网上Spring的介绍是致力于全方位的简化Java开发。
为了下降Java开发的复杂性, Spring采起了如下4种关键策略:框架
基于POJO的轻量级和最小侵入性编程;
经过依赖注入和面向接口实现松耦合;
基于切面和惯例进行声明式编程;
经过切面和模板减小样板式代码。ssh
我理解到的spring是关于它的IOC(控制反转)以及DI(依赖注入) 是什么呢 ,
IOC是spring的两个重要思想之一 , 控制反转 ,
那什么是控制反转呢 , 控制反转就是一种思想 , 这个思想是怎么想的呢 , 就是想把实体类 的生命周期交给spring去控制 , 让spring实现建立 ,实现初始化 , 实现销毁 ..net
那什么是DI呢 , 若是说IOC是一种思想 , 那么DI 就是这种思想的实现 , DI就是这种思想的实现过程
怎么实现呢 , 把一个类在spring的配置xml文件中经过这个类的路径(反射)来控制类的声明周期 ,hibernate
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="com.pojo.User" id ="user" />
</beans>
而后在其余类调用则是获取到这个xml配置文件经过调用方法来获取到id为user的这个bean标签 , 而后获取到这个类 ,xml
@Test
public void test() {
ApplicationContext ac = new ClassPathXmlApplicationContext(“applicationContext.xml”);
User user = (User) ac.getBean(“user”);
user.say();
}
网上搜到的DI就是 :
DI依赖注入:Dependency Injection。
依赖注入DI是指程序运行过程当中,若须要调用另
一个对象协助时,无须在代码中建立被调用者,而是依赖于外部容器,由外部容器创
建后传递给程序。
依赖注入是目前最优秀的解耦方式。依赖注入让Spring的Bean(实体类)之间以配置文件的方式
IOC与DI的关系 IOC是一个概念,是一种思想,其实现方式多种多样。当前比较流行的实现方式之一 是DI。