참조 : http://msdn.microsoft.com/ko-kr/library/ms228112.aspx
'PP > SPRING.NET' 카테고리의 다른 글
Spring .Net 활용 가이드 (0) | 2012.01.12 |
---|---|
DI (0) | 2012.01.10 |
서론. (0) | 2012.01.10 |
Spring .Net 활용 가이드 (0) | 2012.01.12 |
---|---|
DI (0) | 2012.01.10 |
서론. (0) | 2012.01.10 |
Spring .Net 프레임워크 활용 가이드입니다
좋은 자료들을 틈나는대로 업데이트 할 예정입니다
많은 관심 부탁드립니다^^
일반 구성 설정(ASP.NET) (0) | 2012.01.13 |
---|---|
DI (0) | 2012.01.10 |
서론. (0) | 2012.01.10 |
스프링 닷넷은 자바 진영에서 매우 다양한 곳에서 쓰이고 있는 유명한 프레임워크 스프링의 닷넷 버전이다. 아래의 그림을 보면 알 수 있듯이 단순한 컨버젼이 아니라 스프링이 가지고 있는 개념을 닷넷에 가장 어울리도록 최적화한 것이라고 볼 수 있다.
여기서는 이런 다양한 스프링 닷넷 프레임워크 중 DI에 대해서 간략하게 알아보겠다.(이 부분은 코어에 소속된 부분이다. 즉 스프링의 다양한 개념 중에서도 매우 중요하며 기초적인 부분이다.)
먼저 DI라는 개념을 먼저 파악해야 한다. DI는 Dependency Injection의 약자로서 번역하면 의존성 주입 정도가 된다. 간략하게 설명하자면 하나의 클래스에서 다른 클래스의 객체를 사용할 경우에 직접 객체를 생성해서 사용하지 않고 사전에 설정해 둔 바에 따라서 객체를 가져와 사용할 수 있게 한다는 개념이다.
이렇게 할 경우의 가장 큰 장점은 가져오는 객체의 구조나 생성방식이 바뀌더라도 설정파일을 바꾸는 것만으로 그에 무관하게 사용할 수 있다는 점이다.
아래의 간단한 예를 보면 쉽게 이해가 되리라 생각한다.
먼저 사전작업으로 Spring.Net 프레임워크를 다운받아 설치해두는 작업이 필요하다.(이는 스프링닷넷 프레임워크 사이트에서 다운받아 설치만 하면 되므로 생략)
그리고 Spring.Core 어셈블리 파일을 참조추가해둔다. 이로서 사전 작업은 끝
Program.cs
using System;
using System.Collections.Generic;
using
System.Linq;
using System.Text;
using Spring.Context;
using
Spring.Context.Support;
namespace SpringNET
{
class Program
{
static void
Main(string[] args)
{
IApplicationContext ctx =
ContextRegistry.GetContext();
Hello hello =
(Hello)ctx.GetObject("MyHello");
string name = "lee";
string result = hello.SayHello(name);
Console.WriteLine(result);
Console.Read();
}
}
class Hello
{
public string SayHello(string
name)
{
return "Hello!, " + name;
}
}
}
위와 같이 소스코드를 하나 작성한다. 다른 부분은 간단하므로 설명하지 않고 DI가 실제로 일어나는 붉은 색부분만 설명하면 첫번째 줄은 현재 어셈블리의 설정파일로 부터(아래에 작성해 볼 것이다.) 어플리케이션 컨텍스트를 가져온다. 둘째줄은 가져온 컨텍스트에서 MyHello라는 이름의 Object를 가져오도록 하는 것이다.
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" />
</context>
<objects xmlns="http://www.springframework.net">
<object name="MyHello"
type="SpringNET.Hello, SpringNET">
</object>
</objects>
</spring>
</configuration>
위의 파일은 해당 어셈블리의 설정파일과 같은 것이다. 여기에 스프링에 관한 설정도 넣을 수 있다.
다른 부분은 무시하고 핵심적인 부분만 설명하면 붉은 색의 코드 한 줄이 의존성 주입이 가능하도록 해주는 부분이다. 객체의 이름은 MyHello, 클래스형은 SpringNET.Hello이며 해당 객체가 들어있는 어셈블리의 이름은 SpringNET라는 이야기이다.
간단히 스프링 닷넷의 DI를 살펴보았다. 좀더 자세한 것은 스프링 닷넷의 다른 기능을 봐가며 살펴보도록 하겠다.
참고자료: spring-net-reference.pdf Spring.NET_guide_ensoa_v.0.2.pdf
일반 구성 설정(ASP.NET) (0) | 2012.01.13 |
---|---|
Spring .Net 활용 가이드 (0) | 2012.01.12 |
서론. (0) | 2012.01.10 |
Spring은 이미 오래전부터 자바진영에서 각광받고 있는 프레임웤으로서, 닷넷버전으로도 공개가 되었습니다.
그것이 바로, Spring.NET인데요,
Spring.NET은 닷넷기반의 엔터프라이즈 어플리케이션을 구축하기 위한 어플리케이션 프레임웤 이라고 정의할 수 있습니다.
public void TriggerMisfired(Trigger trigger)
{
Console.WriteLine("TriggerMisfired");
}
public void TriggerComplete(Trigger trigger, JobExecutionContext context,
SchedulerInstruction triggerInstructionCode)
{
Console.WriteLine("TriggerComplete");
}
}
작성된 스케줄러를 실행시켜보겠습니다.
[실행결과]
일반 구성 설정(ASP.NET) (0) | 2012.01.13 |
---|---|
Spring .Net 활용 가이드 (0) | 2012.01.12 |
DI (0) | 2012.01.10 |