«dependency-injection» 태그된 질문

작동해야하는 소프트웨어 구성 요소 종속성에 동적으로 주입하여 구성 요소 간 연결을 줄이는 디자인 패턴입니다.

9
의존성 주입 생성자 광기를 피하는 방법?
내 생성자가 다음과 같이 보이기 시작했습니다. public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2.... ) 매개 변수 목록이 계속 증가합니다. "컨테이너"는 의존성 주입 컨테이너이므로 왜 이렇게 할 수 없습니까? public MyClass(Container con) 모든 수업에 대해? 단점은 무엇입니까? 이렇게하면 영광스러운 정적을 사용하고있는 것 같습니다. IoC 및 Dependency Injection 광기에 대한 의견을 공유하십시오.

17
주석을 사용하여 구성된 Spring Bean에 속성 값을 삽입하는 방법은 무엇입니까?
주석을 통해 클래스 패스에서 가져온 스프링 콩이 있습니다. @Repository("personDao") public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { // Implementation omitted } Spring XML 파일에는 PropertyPlaceholderConfigurer가 정의되어 있습니다. <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="/WEB-INF/app.properties" /> </bean> app.properites의 속성 중 하나를 위에 표시된 bean에 주입하고 싶습니다. 나는 단순히 같은 것을 할 수 …


23
봄 콩에 Mockito 모의 주입
JUnit을 사용한 단위 테스트를 위해 Mockito 모의 객체를 Spring (3+) Bean에 주입하고 싶습니다. 내 Bean 종속성은 현재 @Autowired개인 멤버 필드 의 주석을 사용하여 주입됩니다 . 사용을 고려 ReflectionTestUtils.setField했지만 주입하려는 Bean 인스턴스는 실제로 프록시이므로 대상 클래스의 개인 멤버 필드를 선언하지 않습니다. 테스트 목적으로 인터페이스를 순수하게 수정하므로 종속성에 대한 공용 세터를 만들고 …

4
DI (Dependency Inject) "친숙한"라이브러리
C # 라이브러리의 디자인을 숙고하고 있습니다. 여기에는 여러 가지 다른 고급 기능이 있습니다. 물론 이러한 고급 기능은 가능한 한 SOLID 클래스 설계 원칙을 사용하여 구현 됩니다. 따라서 소비자가 정기적으로 직접 사용하도록 고안된 클래스와 더 일반적인 "최종 사용자"클래스의 종속성 인 "지원 클래스"가있을 수 있습니다. 문제는 라이브러리를 디자인하는 가장 좋은 방법은 무엇입니까? …

21
NodeJS에 의존성 주입이 필요합니까, 아니면 어떻게 처리해야합니까?
나는 현재 nodejs로 실험 프로젝트를 만들고 있습니다. Spring으로 많은 Java EE 웹 애플리케이션을 프로그래밍했으며 거기에 의존성 주입의 용이성을 높이 평가했습니다. 이제 궁금합니다. 노드로 의존성 주입을 어떻게합니까? 또는 : 필요합니까? 프로그래밍 스타일이 다르기 때문에 대체 개념이 있습니까? 지금까지 데이터베이스 연결 객체 공유와 같은 간단한 것들에 대해 이야기하고 있지만 나를 만족시키는 해결책을 …

5
5 살짜리에게 의존성 주입을 설명하는 방법? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 칠년 전에 …

19
ASP.NET Core Dependency Injection 오류 : 정품 인증을 시도하는 동안 형식에 대한 서비스를 확인할 수 없습니다
.NET Core MVC 응용 프로그램을 만들고 Dependency Injection 및 Repository Pattern을 사용하여 리포지토리를 컨트롤러에 주입합니다. 그러나 오류가 발생합니다. InvalidOperationException : 'WebApplication1.Controllers.BlogController'를 활성화하는 중 'WebApplication1.Data.BloggerRepository'유형의 서비스를 분석 할 수 없습니다. 모델 (Blog.cs) namespace WebApplication1.Models { public class Blog { public int BlogId { get; set; } public string Url { get; …

10
전달 매개 변수 JavaFX FXML
javafx에서 보조 창에 매개 변수를 전달하려면 어떻게해야합니까? 해당 컨트롤러와 통신하는 방법이 있습니까? 예 : 사용자가 고객을 선택하면 고객 TableView정보를 보여주는 새 창이 열립니다. Stage newStage = new Stage(); try { AnchorPane page = (AnchorPane) FXMLLoader.load(HectorGestion.class.getResource(fxmlResource)); Scene scene = new Scene(page); newStage.setScene(scene); newStage.setTitle(windowTitle); newStage.setResizable(isResizable); if(showRightAway) { newStage.show(); } } newStage새 창이 …

5
캐슬 윈저 란 무엇이며 왜 신경 써야합니까?
저는 오랫동안 Windows 개발자이며 win32 및 초기 COM에서 문제를 해결했습니다. 2001 년부터 .NET을 사용해 왔으므로 C #과 CLR에 능숙합니다. Stack Overflow에 참여하기 시작할 때까지 Castle Windsor에 대해 들어 본 적이 없습니다. Castle Windsor "시작하기"안내서를 읽었지만 클릭하지는 않습니다. 이 오래된 개에게 새로운 트릭을 가르치고 왜 Castle Windsor를 내 엔터프라이즈 앱에 통합해야하는지 …


14
생성자 또는 속성 설정자를 통한 종속성 주입?
클래스를 리팩토링하고 새로운 의존성을 추가하고 있습니다. 클래스는 현재 생성자에서 기존 종속성을 사용하고 있습니다. 일관성을 위해 생성자에 매개 변수를 추가합니다. 물론 단위 테스트를위한 몇 가지 서브 클래스와 그 밖의 여러 클래스가 있으므로 이제 모든 생성자를 변경하여 게임을 진행하고 있습니다. setter와 함께 속성을 사용하는 것이 종속성을 얻는 더 좋은 방법이라고 생각합니다. 주입 …

5
DI 컨테이너를 통해 생성 된 객체를 초기화하는 패턴이 있습니까?
Unity가 객체 생성을 관리하도록 노력하고 있으며 런타임까지 알려지지 않은 초기화 매개 변수를 갖고 싶습니다. 현재 내가 생각할 수있는 유일한 방법은 인터페이스에 Init 메소드를 사용하는 것입니다. interface IMyIntf { void Initialize(string runTimeParam); string RunTimeParam { get; } } 그런 다음 (Unity에서) 사용하려면 다음과 같이하십시오. var IMyIntf = unityContainer.Resolve<IMyIntf>(); IMyIntf.Initialize("somevalue"); 이 시나리오에서 …


3
Angular.js에서 어떤 "사물"을 다른 사람에게 주입 할 수 있습니까?
Angular의 Dependency Injection을 이해하는 데 약간의 어려움이 있습니다. 그래서 제 질문은 누구나 컨트롤러, 팩토리, 프로 바이더 등과 같은 "유형"중 어떤 것이 동일한 "유형"의 다른 인스턴스를 포함하여 다른 유형에 주입 할 수 있는지 설명 할 수 있습니까? 내가 실제로 찾고있는 것은 y / n으로 채워진이 테이블입니다. 동일한 행 / 열을 가진 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.