分享一个IoC入门教程实例

spring.net包括控制反转(ioc) 和面向切面(aop),这篇文章主要说下ioc方面的入门。

一、首先建立一个MVC项目名称叫SpringDemo,然后用NuGet下载spring(我用的是Spring.Net NHibernate 4 support)

二、类设计,在Models文件夹下面建立类,主要IUserInfo,UserInfo,Order 三个类代码如下:

public interface IUserInfo    {string ShowMeg();    }
public class UserInfo : IUserInfo    {public string UserName { get; set; }public Order OrderBy { get; set; }public string ShowMeg()        {return "姓名:" + UserName + "订单号:" + OrderBy.OrderNo;        }    }
public class Order    {public string OrderNo { get; set; }    }

 

三、进入关键的一步:修改配置文件。在web.config里直接修改 如下:

    
An example that demonstrates simple Ioc features

四、代码测试,新建控制器,代码如下:

public ActionResult Index()        {            IApplicationContext ctx = ContextRegistry.GetContext();            IUserInfo lister = (IUserInfo)ctx.GetObject("UserInfo");            ViewBag.msg = lister.ShowMeg();return View();        }

五、前台添加显示 @ViewBag.msg 运行结果如下:

分享一个IoC入门教程实例

六、前已经大功告成,但如果想把配置文件单独出来该怎么弄呢,为了达到测试效果新建一个类NewUserInfo 代码如下:

public class NewUserInfo : IUserInfo    {public NewUserInfo(string name, Order order)        {this.UserName = name;this.OrderBy = order;        }public string UserName { get; set; }public Order OrderBy { get; set; }public string ShowMeg()        {return "姓名:" + UserName + "订单号:" + OrderBy.OrderNo;        }    }

七、新建文件夹Config下建立objects.xml 属性设置生成到目录 内容如下:

    An example that demonstrates simple Ioc features                 

八、修改web.config 指定objects.xml为解析依赖

九、在Home控制器下建立Action NewUserInfo 代码如下:

public ActionResult NewUserInfo()        {            IApplicationContext ctx = ContextRegistry.GetContext();            IUserInfo lister = (IUserInfo)ctx.GetObject("NewUserInfo");            ViewBag.msg = lister.ShowMeg();return View();        }

十、前台添加显示 @ViewBag.msg 运行结果如下:

分享一个IoC入门教程实例

 

总结:IoC给我们带来了很多的方便,当我们觉得使用简单工厂不好的时候,可以用IoC来代替,而且大部分都支持AOP。

 

祝君好运

 

以上就是分享一个IoC入门教程实例的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1432484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 08:07:54
下一篇 2025年12月17日 08:09:23

相关推荐

  • css中hover怎么使用

    CSS中的hover伪类是一个非常常用的选择器,它允许我们在鼠标悬停在元素上时改变其样式。本文将为大家介绍hover的用法,并提供具体的代码示例。 一、基本用法要使用hover,我们需要先为该元素定义一个样式,然后使用:hover伪类来制定鼠标悬停时对应的样式。例如,我们有一个button元素,当鼠…

    2025年12月24日
    000
  • 优先选择绝对定位的情况是什么?

    什么情况下应该优先考虑使用绝对定位? 绝对定位是CSS中一种重要的定位方式,它可以让一个元素相对于其最近的已定位的祖先元素进行绝对定位。在某些情况下,绝对定位可以提供更灵活,更精确的布局效果。本文将探讨在哪些情况下应该优先考虑使用绝对定位,并通过具体的代码示例来说明。 重叠元素的布局当页面中的元素需…

    2025年12月24日
    000
  • 如何使用Css Flex 弹性布局创建多列平铺效果

    如何使用CSS Flex弹性布局创建多列平铺效果 在Web开发中,我们经常会遇到需要创建多列平铺效果的情况,例如展示产品列表、照片墙等。传统的方法通常使用浮动布局或者设置固定宽度来实现,但是这些方法不够灵活,而且在适应性方面存在一定的问题。而CSS Flex弹性布局则提供了更加简单高效的解决方案。 …

    2025年12月24日
    000
  • css中属性值继承如何使用

    这次给大家带来css中属性值继承如何使用,使用css中属性值继承的注意事项有哪些,下面就是实战案例,一起来看一下。 继承:html元素可以从父元素那里继承一部分css属性,即使当前元素没有定义该属性。 1.css可以和不可以继承的属性 不可继承的:display、margin、border、padd…

    好文分享 2025年12月24日
    000
  • CSS的显示模式如何使用

    这次给大家带来css的显示模式如何使用,使用css的显示模式的注意事项有哪些,下面就是实战案例,一起来看一下。 一. 标签补充  div 和s pan 1.什么是div? 作用: 一般用于配合css完成网页的基本布局 2.什么是span? 作用: 一般用于配合css修改网页中的一些局部信息 3.di…

    好文分享 2025年12月24日
    000
  • css的hack技术使用汇总

    什么是css hack? 在web开发中,我们经常会遇到各浏览器表现不一致的情况,由于不同厂商的流览器或某浏览器的不同版本,对CSS的支持、解析不一样,导致在不同浏览器的环境中呈现出不一致的页面展现效果。这时,我们为了获得统一的页面效果,就需要针对不同的浏览器或不同版本写特定的CSS样式,我们把这个…

    好文分享 2025年12月23日
    000
  • 关于CSS3中选择符的实例详解

    英文原文: www.456bereastreet.com/archive/200601/css_3_selectors_explained/中文翻译: www.dudo.org/article.asp?id=197注:本文写于2006年1月,当时IE7、IE8和Firefox3还未发行,文中所有说的…

    好文分享 2025年12月23日
    000
  • jimdo怎么插入html5时间轴_jimdo时间轴html5代码与节点样式【实操】

    Jimdo网站需用自定义HTML5代码实现时间轴:一、内联HTML+CSS轻量嵌入;二、外链CSS+语义化HTML便于复用;三、调用timeline-js-lite库支持交互;四、纯CSS方案零依赖高性能。 如果您希望在 Jimdo 网站中呈现可视化的时间发展脉络,但默认编辑器不支持原生时间轴组件,…

    2025年12月23日
    000
  • visual怎么创建html5_VS新建HTML File选HTML5模板快速创建页面【创建】

    可在Visual Studio中通过新建文件选HTML5模板、新建ASP.NET Core Web App项目或手动创建.html文件并输入及html:5代码段三种方式快速生成HTML5网页。 如果您在 Visual Studio 中需要快速创建一个符合 HTML5 标准的网页文件,则可通过新建项目…

    2025年12月23日
    000
  • jimdo怎么插入html5粒子效果_jimdo粒子效果html5库引入与参数调整【攻略】

    可在Jimdo通过自定义HTML区块引入tsparticles库实现动态粒子效果,或用内联SVG替代;需调整颜色、数量等参数适配主题,并修复脚本加载问题。 如果您希望在 Jimdo 网站中添加动态 HTML5 粒子效果(如背景浮动粒子、鼠标交互连线等),但发现 Jimdo 编辑器默认不支持直接嵌入 …

    2025年12月23日
    000
  • vs.net怎么运行html_vs.net运行html步骤【指南】

    首先创建Web项目或配置外部浏览器预览HTML文件。通过新建ASP.NET项目并添加HTML页面后按Ctrl+F5运行,或安装Live Server等插件实现静态文件实时预览,也可在选项中设置Chrome等外部浏览器直接打开HTML文件以查看效果。 如果您在使用 Visual Studio .NET…

    2025年12月23日
    000
  • vs中如何添加html_VS开发工具中添加HTML文件【工具】

    在 Visual Studio 中添加 HTML 文件需根据项目类型选择方法:一、通过解决方案资源管理器→添加新项→选“HTML 页面”模板;二、手动创建.html文件后通过“显示所有文件”→“包括在项目中”;三、用快捷键Shift+Alt+A快速调出模板;四、若无模板,需通过 Visual Stu…

    2025年12月23日
    000
  • HTML如何弹出提示框_JavaScript交互实现方法【指南】

    JavaScript提供五种弹出提示框方法:alert()显示不可编辑警告;confirm()返回布尔值实现确认交互;prompt()获取用户文本输入;自定义DOM元素实现灵活样式;第三方库如SweetAlert2支持美观异步提示。 如果您希望在网页中向用户显示简短信息、确认操作或获取简单输入,Ja…

    2025年12月23日
    000
  • vs怎么编写并运行html_vs编写并运行html方法【教程】

    Visual Studio中运行HTML的方法包括:1. 创建ASP.NET项目,添加HTML文件并设为起始页,通过IIS Express运行;2. 使用VS Code安装Live Server扩展实现实时预览;3. 直接保存HTML文件后用浏览器手动打开查看效果。 如果您在使用 Visual St…

    2025年12月23日
    000
  • vs如何写html_vs编写html步骤【教程】

    在Visual Studio中编写HTML需依次创建ASP.NET Core Empty项目、添加index.html文件、编辑保存内容、用浏览器预览,并可安装Live Server扩展实现保存即刷新。 如果您希望在 Visual Studio 中编写 HTML 文件,但不确定如何创建项目、添加文件…

    2025年12月23日
    000
  • visal stdio怎么运行html_visual studio运行html步骤【指南】

    首先安装“ASP.NET和Web开发”工作负载,创建或打开项目后添加HTML文件,编写代码并设为起始页,最后按Ctrl+F5通过IIS Express运行,可在浏览器中预览页面效果。 在 Visual Studio 中运行 HTML 文件并不复杂,只要配置正确,可以快速预览网页效果。以下是详细步骤,…

    2025年12月23日
    000
  • html5如何使用视频_在HTML5中嵌入与控制视频播放【播放】

    可使用HTML5的元素嵌入视频并实现播放控制:通过src、controls等属性基础嵌入;用JavaScript调用play()、pause()等方法控制行为;配合autoplay与muted实现自动播放;采用响应式容器适配多屏;监听error事件并用canPlayType()处理兼容性问题。 如果…

    2025年12月23日
    000
  • 使用Bulma创建固定导航栏、页脚与可滚动内容区域的教程

    本文详细介绍了如何在bulma框架中实现固定顶部导航栏、固定底部页脚,并使中间内容区域可独立滚动。通过利用bulma提供的`is-fixed-top`、`is-fixed-bottom`类以及在`html>`标签上添加相应的`has-navbar-fixed-top`和`has-navbar-…

    2025年12月23日
    000
  • 在 Bulma 中实现固定导航栏、页脚与可滚动主体内容

    本文旨在指导您如何在 Bulma 框架中构建一个具备固定顶部导航栏和底部页脚,同时允许中间主体内容区域自由滚动的页面布局。通过利用 Bulma 提供的 `is-fixed-top` 和 `is-fixed-bottom` 类,并配合 HTML 元素的辅助类,您可以轻松实现这一常见的 UI 需求,避免…

    2025年12月23日 好文分享
    000
  • html5视频如何下载_HTML5视频资源下载方法与工具【下载】

    可通过五种方法下载HTML5视频:一、开发者工具查video/source标签的src;二、Network面板过滤media捕获请求;三、用Video Downloader等扩展一键提取;四、ffmpeg命令行合并m3u8分片;五、在线解析网站获取直链。 如果您希望保存网页中嵌入的HTML5视频,但…

    2025年12月23日
    000

发表回复

登录后才能评论
关注微信