Spring.Net学习笔记(2)-依赖注入
生活随笔
收集整理的這篇文章主要介紹了
Spring.Net学习笔记(2)-依赖注入
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、開發環境
操作系統:Win10
編譯器:VS2013
framework版本:.net 4.5
Spring版本:1.3.1
二、涉及程序集
Spring.Core.dll
Common.Loggin.dll
三、項目結構
四、開發過程
1.新建一個接口文件
namespace SpringNetIoc.IScene {public interface IBall{void DoSport();} }2.新建兩個實現接口IBall的具體類
namespace SpringNetIoc.Scene {public class Basketball:IBall{public void DoSport(){Console.WriteLine("打籃球");}} } namespace SpringNetIoc.Scene {public class Tennis : IBall{public void DoSport(){Console.WriteLine("打網球");}} }3.新建一個Person類
namespace SpringNetIoc.Role {public class Person{public IBall Ball { get; set; }public void Hobby(){Ball.DoSport();}} }4.配置Spring.net
<?xml version="1.0" encoding="utf-8" ?> <configuration><configSections><sectionGroup name="spring"><section name="context" type="Spring.Context.Support.ContextHandler,Spring.Core"/><section name="objects" type="Spring.Context.Support.DefaultSectionHandler,Spring.Core"/></sectionGroup></configSections><spring xmlns="http://www.springframework.net"><context><resource uri="config://spring/objects"></resource></context><objects xmlns="http://www.springframework.net"><object name="basketball" type="SpringNetIoc.Scene.Basketball,SpringNetIoc"></object><object name="tennis" type="SpringNetIoc.Scene.Tennis,SpringNetIoc"></object><object name="person" type="SpringNetIoc.Role.Person,SpringNetIoc"><!--<property name="Ball" ref="basketball"></property>--><property name="Ball" ref="tennis"></property></object></objects></spring><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /></startup> </configuration>5.在控制臺中,輸出結果
namespace SpringNetIoc {class Program{static void Main(string[] args){IApplicationContext context = ContextRegistry.GetContext();Person person = context.GetObject("person") as Person;person.Hobby();Console.Read();}} }五、程序說明
在一定程度上解決了Person與IBall耦合的問題,但是實際上并沒有完全解決耦合,只是把耦合放到了xml文件中。通過一個容器在需要的時候把這個依賴關系形成,即把需要的接口實現注入到需要它的類中。IoC模式可以看做是:容器+工廠。只不過這個大工廠里要生成的對象都是在xml文件中給出定義的。
六、參考文章
http://www.cnblogs.com/GoodHelper/archive/2009/10/26/SpringNET_DI.html
轉載于:https://www.cnblogs.com/kimisme/p/5273261.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Spring.Net学习笔记(2)-依赖注入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件工程作业之小学数学题目
- 下一篇: oracle全托管驱动Oracle.Ma