Spring.Net学习笔记一(IOC第一个实例)

最近,即将要去新加坡出差,所以在签证这段时间比较空闲,所以想起学习点东西,由于接触过Unity,Autofac等IOC容器,没有接触Spring.Net,故想揭开它神奇的面纱。任何东西都是纸老虎!

首先还是来一个简单创建对象的例子。

第一步:我现在推荐使用Nuget来下载最新的程序集,这个能及时更新,而且能自动引起程序集所依赖的项。

第二步:增加配置文件,按照Sprint.Net手册增加配置文件。

第三步,进行测试运行。

代码如下:

新建的类库代码:Dao

 1 namespace Dao
 2 {
 3     public interface IPersonDao
 4     {
 5         void Save();
 6     }
 7     public class PersonDao : IPersonDao
 8     {
 9         public void Save()
10         {
11             Console.WriteLine("保存 Person");
12         }
13     }
14
15     public class PersonDao1 : IPersonDao
16     {
17         public void Save()
18         {
19             Console.WriteLine("保存 Person1");
20         }
21     }
22 }

配置文件代码:

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <configuration>
 3   <configSections>
 4     <sectionGroup name="spring">
 5       <section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
 6       <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
 7     </sectionGroup>
 8   </configSections>
 9   <spring>
10     <context>
11       <!--容器配置-->
12       <resource uri="config://spring/objects"/>
13     </context>
14     <objects xmlns="http://www.springframework.net">
15       <!--这里放容器里面的所有节点-->
16       <description>An  example that demonstrates simple IoC features.</description>
17       <!--name 必须要唯一的,type=类的全名称,所在的程序集-->
18       <object name="PersonDao" type="Dao.PersonDao1, Dao">
19       </object>
20     </objects>
21   </spring>
22   <startup>
23     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
24   </startup>
25 </configuration>

入口函数代码:

 1 using Dao;
 2 using Spring.Context;
 3 using Spring.Context.Support;
 4 using System;
 5 using System.Collections.Generic;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9
10 namespace MovieApp
11 {
12     class Program
13     {
14         static void Main(string[] args)
15         {
16             IApplicationContext ctx = ContextRegistry.GetContext();
17             IPersonDao dao = ctx.GetObject("PersonDao") as IPersonDao;
18             if (dao != null)
19             {
20                 dao.Save();
21                 Console.WriteLine("我是IoC方法");
22                 Console.ReadKey();
23             }
24         }
25     }
26 }

运行很良好,出来想要的结果!

时间: 2024-10-28 01:00:07

Spring.Net学习笔记一(IOC第一个实例)的相关文章

openstack学习笔记三 创建第一个实例

登陆admin 创建一个基本网络 镜像   已经安装好操作系统的硬盘文件 计算--镜像--创建镜像 名称  centos7.2-1511 镜像源  镜像地址 镜像地址    http://mirrors.163.com/centos/7.2.1511/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso 镜像格式iso 最小硬盘 10GB 最低内存  1024MB 数据复制  不选 公有 选择 计算--实例--启动云主机 云主机名称  test1 云主机启动源   c

Spring视频学习笔记(二)

Spring视频学习笔记(二) XML配置里的Bean自动装配(三个来测试实现) /** * Person类 * */ public class Person { private String name; private Address address; private Car car; public String getName() { return name; } public void setName(String name) { this.name = name; } public Ad

Spring MVC 学习笔记(二):@RequestMapping用法详解

一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置 <servlet>     <servlet-name>servletName</servlet-name>     <servlet-class>ServletClass</servlet-class> </servlet>

Spring Batch学习笔记二

此系列博客皆为学习Spring Batch时的一些笔记: Spring Batch的架构 一个Batch Job是指一系列有序的Step的集合,它们作为预定义流程的一部分而被执行: Step代表一个自定义的工作单元,它是Job的主要构件块:每一个Step由三部分组成:ItemReader.ItemProcessor.ItemWriter:这三个部分将执行在每一条被处理的记录上,ItemReader读取每一条记录,然后传递给ItemProcessor处理,最后交给ItemWriter做持久化:It

[Spring MVC]学习笔记--DispatcherServlet

在上一篇我们介绍了Servlet,这一篇主要来看一下MVC中用到的DispatcherServlet(继承自HttpServlet). 1. DispatcherServlet在web.xml中被声明. <web-app> <servlet> <servlet-name>example</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet&l

Spring MVC学习笔记(一)--------准备篇

这一系列笔记将带你一步一步的进入Spring MVC,高手勿喷. 首先你得安装以下的工具: JDK,虽然JDK8已经发布了一段时间了,但是由于我们并不会使用到里面的新特性,所以JDK6以上版本皆可以(需加入到PATH环境变量中): Servlet Container,为了能运行WEB应用程序,因此需要一个Web Container,这里我们建议Tomcat即可: IDE,一个好的IDE不仅能提高你开发的效率,还能降低你学习的成本,我们选择的是IntelliJ: 构建工具,推荐使用Gradle,它

[转]Spring MVC 学习笔记 json格式的输入和输出

Spring mvc处理json需要使用jackson的类库,因此为支持json格式的输入输出需要先修改pom.xml增加jackson包的引用 <!-- json --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-lgpl</artifactId> <version>1.8.1</version>

Spring Batch学习笔记三:JobRepository

此系列博客皆为学习Spring Batch时的一些笔记: Spring Batch Job在运行时有很多元数据,这些元数据一般会被保存在内存或者数据库中,由于Spring Batch在默认配置是使用HSQLDB,也就是说在Job的运行过程中,所有的元数据都被储存在内存中,在Job结束后会随着进程的结束自动消失:在这里我们推荐配置JobRepository去使用MySQL. 在这种情况下,Spring Batch在单次执行或者从一个执行到另外一个执行的时候会使用数据库去维护状态,Job执行的信息包

[Spring MVC]学习笔记--基础Servlet

Servlet是一个用Java编写的应用程序,在服务器上运行,处理请求的信息并将其发送到客户端. Servlet的客户端提出请求并获得该请求的响应. 对于所有的客户端请求,只需要创建Servlet的实例一次(这是和CGI(Common Gateway Interface)的重要区别,CGI是每个请求创建一个新实例),因此节省了大量的内存. Servlet在初始化后即驻留内存中,因此每次作出请求时无需加载. 下面通过一个例子来介绍如何编写一个简单的Servlet. 准备工作: 1. 下载并启动To