내 프로젝트에서 picoContainer를 사용하려고합니다. 나는 그것에 대해 거의 알지 못하지만 한 발을주고 싶다.picoContainer 사용 및 이해
필자는 picoContainer와 registercomponents를 만들어야한다고 생각합니다. 나는이
public static PicoContainer getPicoContainer(){
final MutablePicoContainer pico = new DefaultPicoContainer();
pico.registerComponentImplementation(X.class);
pico.registerComponentImplementation(A.class);
pico.registerComponentImplementation(C.class);
pico.registerComponentImplementation(V.class);
pico.registerComponentImplementation(T.class);
pico.registerComponentImplementation(D.class);
return pico;
}
지금 내 문제가 어떤 구성 요소가 다른 구성 요소를지는 것은 피코에 핸들을 필요로한다는 것입니다했다. 는 모든 구성 요소에 액세스하려면 그들 각각에 대한 생성자에서, 그래서이
A juicer = pico.getComponent(A.class);
을 할 필요가, 나는 피코 객체를 전달해야합니까? 나는 이것을 공장으로 쉽게 대체 할 수있다. 그럼 그게 무슨 말이야? 나는 여기서 뭔가를 놓치고 있다고 확신한다. 도움을 주시면 감사하겠습니다.
생성자에 다른 구성 요소가 필요한 구성 요소는 이미 해당 구성 요소의 인스턴스를 가져야합니다. http://picocontainer.codehaus.org/constructor-injection.html - 클래스는 필수 클래스를 생성 할 책임이 없어야하며, 클래스를 주입해야합니다. – zapl