spring. net (1) 개념 - 반전 제어 (일명 주입 의존)
11272 단어 spring
제어 반전:
Inversion of Control: IoC 라 고 약칭 한다. 대상 지향 프로 그래 밍 중의 디자인 원칙 으로 컴퓨터 코드 간 의 결합 도 을 낮 출 수 있다.그 중에서 가장 흔히 볼 수 있 는 방식 은 의존 주입 (Dependency Injection, 약칭 DI) 이 고 '의존 검색' (Dependency Lookup) 이라는 방법 도 있다.반전 을 제어 함으로써 대상 이 생 성 될 때 시스템 내 모든 대상 의 외부 실 체 를 제어 하여 의존 하 는 대상 의 인용 을 전달 합 니 다.의존 이 대상 에 주입 된다 고 할 수도 있다.
개인 이해: 대상 중의 대상 을 대상 으로 하 는 부자 상속, 인터페이스 또는 추상 적 인 실현 등에 따라 관 계 를 가 진 대상 의 실례 화 를 통제한다.
실례:
애완동물 한 마리 가 있 습 니 다:
public interface Pet
{
string name { get; set; }
void bark();
}
강아지:
public class Dog : Pet
{
public string name { get; set; }
public void bark()
{
Console.WriteLine(" ...");
}
}
사람:
public class Person
{
public string name { get; set; }
public Pet pet { get; set; }
}
간단 한 spring 프레임 워 크:
프로젝트 참조: spring. core - 전체 프레임 워 크 의 기초 로 주입 에 의존 하 는 기능 을 실현 합 니 다.
Spring. AOP - 측면 프로 그래 밍 (op) 지원 제공
Spring. Data - a 는 추상 적 인 데이터 액세스 층 을 정의 하여 각종 데이터 액세스 기술 (ADO. NET 에서 각종 orm 까지) 을 뛰 어 넘 어 데이터 접근 을 할 수 있 습 니 다.
프로젝트 프로필: 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="file://objects.xml"></resource>
</context>
<objects xmlns="http://www.springframework.net">
</objects>
</spring>
</configuration>
objects.xml 속성 은 처음부터 끝까지 복사 합 니 다. 그렇지 않 으 면 위 에 설 정 된 < resource uri = "file://objects.xml"> < / resource > 를 찾 을 수 없습니다.
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.net
http://www.springframework.net/xsd/spring-objects.xsd">
<object id="person" type="SpringDemo.Person,SpringDemo" singleton="true" >
<property name="pet" ref="dog" ></property>
<property name="name" value="Yahue"></property>
</object>
<object id="dog" type="SpringDemo.Dog,SpringDemo" singleton="true">
<property name="name" value=" "></property>
</object>
</objects>
콘 솔 프로그램 중:
static void fistIoC()
{
Person p = ctx.GetObject("person") as Person; Console.WriteLine(p.pet.name);
Console.WriteLine("-------------------------");
}
호출:
static IApplicationContext ctx = ContextRegistry.GetContext();
static void Main(string[] args)
{
fistIoC();
Console.ReadLine();
}
콘 솔 출력:
활용 단어 참조
-------------------------
ok ioc 。
:spring.net , , 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.