구구구구우
1k
2017-06-26 11:35:30 작성 2017-06-26 11:40:48 수정됨
2
309

스프링 관련해서 질문이 있습니다.


스프링 공부를 한적은 없고 다만 스프링에서 재공하는 빈 컨테이너라는 것이 존재하고

해당 컨테이너는 인스턴스를 생성을 할 수 있으며 해당 컨테이너에서 관리되는(즉 컨테이너를 통해 생성된 인스턴스 - 물론 빈으로 등록한 경우만) 인스턴스 들간의 의존 설정을 할수 있다는 것 정도만 알고 있습니다.

그 과정에서 XML과 애노테이션 등을 이용하여 사용자로 하여금 new 생성자, get, set 등의 코드를 줄여주는 장점을 있다는 정도로 알고 있는데

제가 이용하고 싶은 부분이 이부분이에요 XML과 애노테이션을 이용하여 사용자로 하여금 조금의 코드 작성을 줄이고, 더 나아가 XML 과 애노테이션 부분을 사용자가 GUI 형태로 입력 할 수 있도록 하는거죠

어찌 됐든 이런 방향으로 DI 컨테이너를 이용하고 싶은데 특히 스프링이요

제가 궁금한건 이 DI 컨테이너 외부에서 생성되는 인스턴스를 DI 컨테이너의 빈으로 등록하여 의존성 주입을 받을수 있을까입니다.?


상황 설명이 너무 없어서 문제가 있어보이긴 하는데 일단은 제가 스프링 공부를 깊게 한적이 없어서 놓친게 아닌가(간단하게 될 걸 제가 못 찾고 있는건지) 해서 질문을 올려 봅니다. 일단 책을 이제 천천히 보고 있긴한데 이거만 붙잡고 있을수가 없네요


 

0
  • 답변 2

  • madlife
    2k
    2017-06-26 13:14:13

    이건 스프링 책 정독 하신분들이 답변할 수 있을 것같네요 

    개인적인 생각이지만 구지 외부에서 인스턴스를 동적으로? 생성하여 DI로 간다는 것 자체가

    스프링프레임워크를 사용하는 취지에 벗어난 것이 아닐까 생각됩니다.

    런타임과 동시에 필요한 인스턴스(빈)을 준비해 놓는곳이 빈 컨테이너 이니까요..

    시멘트 같은 존재죠 아니면 동적 빈 컨테이너를 따로 만드셔서 관리하시는 방법도 가능하지 않을까요?

    갠적인 의견입니다. 잘못된점 답변부탁드립니다..


  • 구구구구우
    1k
    2017-06-26 13:46:54

    일단은 간단하게 하는 방법은 없나 보네요.....


    사실은 JAVA FX에서 FXMLLoader로 읽어들여 생성된 인스턴스들을 Bean 으로 등록 하고 싶었습니다.

    FXMLLoader를 커스텀 해야지 가능할 것 같네요.

    이렇게 까진 하고 싶진 않은데 굉장히 내부적으로 분석을 많이 해야 될거 같거든여 FXMLLoader나 특히 스프링 빈컨테이너요 내부 코드 봤는데 너무 복잡하더라구요 단순히 생성된 인스턴스를 애노테이션 필드에 주입만 하는게 아니라 별 작업이 많던데.... 스프링 빈컨테이너에 대해 잘 아시는 분에 도움이나 제가 그냥 죽어라 파보는 수밖에 없겠네요.


  • 로그인을 하시면 답변을 등록할 수 있습니다.