나는 최근에 Ninject를 사용하여 시작한 WinForms 응용 프로그램을 가지고 있습니다. Ninject에 대한 자습서의 대부분은이 같은 autowiring에 대한 설정을 보여Ninject로 Autowiring
당신이 짧은 스크립트 시작시 클래스를 구현하는하려는 경우 중대하다,하지만 난에 그 객체를 사용하는 방법을 잘 모르겠어요using (IKernel kernel = new StandardKernel())
{
kernel.Bind<ITaxCalculator>()
.To<TaxCalculator>()
.WithConstructorArgument("rate", .2M);
var tc = kernel.Get<ITaxCalculator>();
Assert.Equal(20M, tc.CalculateTax(100M));
}
응용 프로그램 내 다른 클래스 및 라이브러리. Ninject가 this article에서 Spring과 유사한 종속성을 처리 할 수 있는지 궁금했습니다.
package testbean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import writer.IWriter;
@Service
public class MySpringBeanWithDependency {
private IWriter writer;
@Autowired
public void setWriter(IWriter writer) {
this.writer = writer;
}
public void run() {
String s = "This is my test";
writer.writer(s);
}
}
그러면 XML에서 IWriter에 삽입 할 인스턴스를 지정할 수 있습니다. 그런 다음 코드를 실행하려면이 모든 것을이 필요하다 : 당신이 당신의 응용 프로그램의 나머지 부분에 활용하는 방법에 대해 걱정할 필요가 없습니다
스프링package main;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import testbean.MySpringBeanWithDependency;
public class Main {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("META- INF/beans.xml");
BeanFactory factory = context;
MySpringBeanWithDependency test = (MySpringBeanWithDependency) factory
.getBean("mySpringBeanWithDependency");
test.run();
}
}
, 그것은 자동으로 IWriter 의존성을 만들어 삽입 할 수 . 현재 Ninject 자습서를 사용하여이 작업을 수행 할 수있는 방법을 찾을 수 없었으며 객체를 다른 객체에 저장 한 다음 호출하는 것이 가장 좋은 방법은 아닙니다.
Ninject와 종속성을 자동으로 줄이는 방법에 대한 고수와 저조한 모습을 보였지만이 특정 질문에 대한 답을 찾지 못했습니다. 어떤 도움이라도 대단히 감사합니다.
도움 주셔서 감사합니다. 확장 DLL을 확인합니다. – Rachael