當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
浅谈Spring IOC和DI及Spring工厂类
生活随笔
收集整理的這篇文章主要介紹了
浅谈Spring IOC和DI及Spring工厂类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
淺談Spring IOC和DI及Spring的工廠類
文章目錄
- 淺談Spring IOC和DI及Spring的工廠類
- 一. IOC
- 1.什么是IOC
- 2.為什么使用IOC
- 傳統開發模式的弊端
- 3. 使用spring-IOC步驟
- 二. DI
- 1.什么是DI
- 2.傳統面向接口編程
- 2.使用DI方式
- 三. Spring的工廠類
一. IOC
1.什么是IOC
? IOC: Inversion of Control(控制反轉),即把對象的創建權交給Spring管理。
2.為什么使用IOC
傳統開發模式的弊端
? (1)業務和實現類過于緊密,耦合性太高,底層業務要修改大量源代碼
? (2)通過工廠可以實現接口與實現業務的分離,相對于(1)已經有了很大的改進
? (3)在工廠內部使用配置文件加載,相對于(2)又有了改進
我們的目標是:開發者不必再為單實例模式類、屬性文件解析等這些很底層的需求編寫代碼,可以更專注于上層的應用。
解決方法:可以通過Spring提供的IoC容器,我們可以將對象之間的依賴關系交由Spring進行控制,避免硬編碼所造成的過度程序耦合。
3. 使用spring-IOC步驟
(1)添加jar包:
點擊地址跳轉:spring相關jar包下載地址
(2)創建配置文件,文件名稱applicationContext.xml放在當前工程resource文件夾里
(3)在applicationContext.xml中添加要管理的類
<!--id:為自己起的名稱 class:為實現接口類的全路徑--!> <bean id="userDao" class="com.Springioc.Dao.Impl"/>(4)測試使用
public void save(){//加載配置文件ApplicationContext applicationContext=new ClassPathXmlApplicationContext(configLocation:"applicationContext.xml");//參數為配置文件當中<bean>的id UserDao userDao=(UserDao)applicationContext.getBean(s:"userDao");userDao.save()}二. DI
1.什么是DI
DI即依賴注入,是給spring管理類當中依賴的屬性,通過配置文件進行賦值的過程。前提必須有IOC的環境,Spring管理這個類的時候才能將類的依賴的屬性值注入(設置)進來。
2.傳統面向接口編程
UserDao dao=new UserDaoMysqlImp1(): dao.name="myxq";使用面向接口編程沒有辦法設置屬性值
2.使用DI方式
(1)實現類當中的屬性要提供set方法
public class UserDaoMysqlImpl implements UserDao {public String name;//依賴注入要提供set方法public void setName(String name){this.name=name;}@Override public void save(){System.out.println("mysql--save");System.out.println("name="+name): } }(2)在配置文件當中配置依賴注入
<?xml version="1.0"encoding="UTF-8"> Kbeans 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"><!--id:為自己起的名稱class:為接口實現類的全路徑一> <bean id="userDao" class="com.Springioc.dao.UserDaoMysqlImpl"> <property name="name" value="myxq"/> </bean〉 </beans〉(3)測試
public void save(){//加載配置文件ApplicationContext applicationContext=new ClassPathXmlApplicationContext(configLocation:"applicationContext.xml");//參數為配置文件當中<bean>的id UserDao userDao=(UserDao)applicationContext.getBean(s:"userDao");userDao.save() }三. Spring的工廠類
ClassPathXmlApplicationContext:加載類路徑下的配置文件(常用)
FileSystemXmlApplicationContext:加載文件系統下的配置文件
總結
以上是生活随笔為你收集整理的浅谈Spring IOC和DI及Spring工厂类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gin+vue的前后端分离开源项目
- 下一篇: 卷积神经网络结构优化综述