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。