Spring.Net入门学习
2011-11-24 16:11
429 查看
一、建立类库项目SpringNetDemo.DAO,同时建立两个文件
1、IBLL.cs
namespace SpringNetDemo.DAO
{
public interface IPersonDao
{
void Save();
}
}
2、BLL.cs
namespace SpringNetDemo.DAO
{
public class PersonDao:IPersonDao
{
public void Save()
{
Console.WriteLine("save person....");
}
}
}
二、建立控制台应用程序,命名SpringNetDemo.Test,并引用[b]SpringNetDemo.DAO[/b]
通常我们操作对象的方法如下
class Program
{
static void Main(string[] args)
{
IPersonDao pd = new PersonDao();
pd.Save();
}
}
此时调用者必须要依赖于IPersonDao ,PersonDao,如果要隐藏PersonDao类的实现,我们可以使用工厂模式来实现,那么我们再建立一个
类库SpringNetDemo.DaoFactory并引用SpringNetDemo.DAO,并且建立工厂数据访问类DataAccess.cs
namespace SpringNetDemo.DaoFactory
{
public static class DataAccess
{
public static IPersonDao CreatePersonDao()
{
return new PersonDao();
}
}
}
此时我们要操作对象可以用如下方法,调用者只要知道IPersonDao ,工厂就可以了,而不需要知道PersonDao
class Program
{
static void Main(string[] args)
{
IPersonDao pd1 = DaoFactory.DataAccess.CreatePersonDao();
pd.Save();
}
}
到了这里我们可能会思考,如果我们有一个框架可以帮我们来管理PersonDao对象就好了,继续。。。
在SpringNetDemo.Test中
1、添加对Spring.Core.dll,Common.Logging.dll引用
2、新建App.config配置文件
<?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>
<context>
<!--<resource uri="config://spring/objects" />-->
<resource uri="objects.xml"></resource>
</context>
<!--<objects xmlns="http://www.springframework.net/">
<description>一个简单的控制反转例子</description>
<object id="PersonDao" type="SpringNetDemo.DAO.PersonDao,SpringNetDemo.DAO" />
</objects>-->
</spring>
</configuration>
3建立一个objects.xml
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net/">
<description>一个简单的控制反转例子</description>
<object id="PersonDao" type="SpringNetDemo.DAO.PersonDao,SpringNetDemo.DAO" />
</objects>
配置完成,下面通过程序调用
class Program
{
static void Main(string[] args)
{
IApplicationContext ctx = ContextRegistry.GetContext();
IPersonDao dao = ctx.GetObject("PersonDao") as IPersonDao;
if (dao != null)
{
dao.Save();
Console.WriteLine("我是IoC方法");
}
}
}
完成。。。。
spring.net+ibatis.net
源代码:IBatisNet+SpringNet
1、IBLL.cs
namespace SpringNetDemo.DAO
{
public interface IPersonDao
{
void Save();
}
}
2、BLL.cs
namespace SpringNetDemo.DAO
{
public class PersonDao:IPersonDao
{
public void Save()
{
Console.WriteLine("save person....");
}
}
}
二、建立控制台应用程序,命名SpringNetDemo.Test,并引用[b]SpringNetDemo.DAO[/b]
通常我们操作对象的方法如下
class Program
{
static void Main(string[] args)
{
IPersonDao pd = new PersonDao();
pd.Save();
}
}
此时调用者必须要依赖于IPersonDao ,PersonDao,如果要隐藏PersonDao类的实现,我们可以使用工厂模式来实现,那么我们再建立一个
类库SpringNetDemo.DaoFactory并引用SpringNetDemo.DAO,并且建立工厂数据访问类DataAccess.cs
namespace SpringNetDemo.DaoFactory
{
public static class DataAccess
{
public static IPersonDao CreatePersonDao()
{
return new PersonDao();
}
}
}
此时我们要操作对象可以用如下方法,调用者只要知道IPersonDao ,工厂就可以了,而不需要知道PersonDao
class Program
{
static void Main(string[] args)
{
IPersonDao pd1 = DaoFactory.DataAccess.CreatePersonDao();
pd.Save();
}
}
到了这里我们可能会思考,如果我们有一个框架可以帮我们来管理PersonDao对象就好了,继续。。。
在SpringNetDemo.Test中
1、添加对Spring.Core.dll,Common.Logging.dll引用
2、新建App.config配置文件
<?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>
<context>
<!--<resource uri="config://spring/objects" />-->
<resource uri="objects.xml"></resource>
</context>
<!--<objects xmlns="http://www.springframework.net/">
<description>一个简单的控制反转例子</description>
<object id="PersonDao" type="SpringNetDemo.DAO.PersonDao,SpringNetDemo.DAO" />
</objects>-->
</spring>
</configuration>
3建立一个objects.xml
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net/">
<description>一个简单的控制反转例子</description>
<object id="PersonDao" type="SpringNetDemo.DAO.PersonDao,SpringNetDemo.DAO" />
</objects>
配置完成,下面通过程序调用
class Program
{
static void Main(string[] args)
{
IApplicationContext ctx = ContextRegistry.GetContext();
IPersonDao dao = ctx.GetObject("PersonDao") as IPersonDao;
if (dao != null)
{
dao.Save();
Console.WriteLine("我是IoC方法");
}
}
}
完成。。。。
spring.net+ibatis.net
源代码:IBatisNet+SpringNet
相关文章推荐
- SPRING.NET 1.3.2 学习2--快速入门应用示例说明
- Spring.Net 简单入门学习
- Spring.Net 简单入门学习
- Spring.Net 简单入门学习
- SPRING.NET 1.3.2 学习2--快速入门应用示例说明
- Spring.NET依赖注入框架学习--入门
- 【原】Spring.NET 学习笔记1 入门
- Spring.Net 入门学习(一)实现控制器翻转与依赖注入
- C#.NET文件上传的入门学习(FileUpload控件的入门学习)
- 关于asp.net 2.0 入门学习之“GlobalResources与Callback问题”的笔记
- SpringBoot学习 —— 1、项目入门配置编
- 学习Spring.NET、NHibernate[转]
- Spring入门学习——伪数据库序列开发序列生成器
- Spring boot简单入门学习
- Spring Cloud与微服务学习总结(1)——Spring Cloud及微服务入门
- Spring.NET依赖注入框架学习--简介
- ASP.NET缓存技术学习入门---页面缓存(OutPut Caching)
- 从零开始学习ASP.NET MVC 1.0 (一) 开天辟地入门篇
- Spring-Boot学习(1)-----Spring-Boot入门
- 慕课网学习spring入门篇-AOP基本概念