[Spring Roo] (1) Spring Roo란?

프레임웍로그/Spring 2011. 3. 3. 23:44


스프링 사이트를 방문했다가, 스프링 루 프로젝트를 보게 되었다. 스프링 루가 무엇일까? 궁금하여 프로젝트 사이트에서

제공하는 메뉴얼을 읽어보았는데, 일부 내용을 번역하여 적어보았다.  


Spring Roo

스프링 루는 자바언어를 사용하는 텍스트 기반의 RAD(RApidy Development) 툴이다. 

루(Roo)는  Real Object Oriented 의 약자임과 동시에 캥거루를 의미하는 단어로,  스프링 루의 마스코트 또한 캥거루이다. 

 

루는 자바 이외에 어떤 다른 언어와 플랫폼을 필요로 하지 않으며, 기존의 엔터프라이즈 애플리케이션을 개발하는 방식을 

사용한다. 루쉘이라는  커맨드 라인 프로그램이 실행시켜 두고 , 프로그래머는 텍스트 에디터 또는 IDE를 사용하여 개발을 

수행하면,  루쉘이 백그라운드에서 파일시스템 변경을 인지하고, 자동으로 필요한 파일들을 생성하고 관리해준다.  

루는 완전한 Round-trip(양방향) 인식을 제공하는데 이것은 프로그래머는 루에 명령없이도 어떠한 파일도 변경할 수 있고, 

루는 이러한 변경사항을 자동으로 인식하여, 필요한 파일들을 생성하는 특징을 나타낸다. 





루에 대한 잘못된 생각들을 알아보면....


  • 루는 런타임이 아니다

루는 배포시에 프로젝트에 포함되지 않으며,  Roo관련 JAR 파일을 클래스에서 발견할 수도 없으며, Roo 어노테이션이 

클래스파일에 컴파일되어 포함되지도 않는다.  이러한 특징은 언제라도 루를 프로젝트에서 제거할 수 있다는 no lock-in 

특징을 의미한다.  루를 사용하기 위한 승인이 필요치 않으며, 런타임에 프로젝트 속도를 감소시키거나, 메모리를 낭비하고, 배포구조를 망치는 어떻한 부작용도 없다. 


  • 루는 IDE 플러그인 아니다
루는 자신의 커맨드 쉘 윈도우 안에서 완벽하게 동작하며,  파일시스템을 모니터링하며 지능적이고 ,
점진적 으로  적절한 시기에 변경에 응답한다.  이것은 vi, emacs 등 어떤 에디터를 사용할 수 있게한다.



  • 루는 어노테이션 처리 라이브러리가 아니다
어노테이션 처리  API 는 자바 6에서 추가된 특징으로, 루는 이 API 를 사용하지 않는다. 루는 자바5 와도 동작할 수 있다



요약하면 루는 Inter-Type-Declaration의 능동/수동 코드생성의 조합을 수행하는 애드온 기반의 아키텍처를 사용




루의 특징
Spring, Maven, JUnit, 등 바탕 코드 자동생성
Round-trip 지원
No Lock in, No runtime Dependency


'프레임웍로그 > Spring' 카테고리의 다른 글

[Spring Roo] (4) Roo 설치하기  (0) 2011.03.03
[Spring Roo] (3) Roo 아키텍처  (0) 2011.03.03
[Spring Roo] (2) Roo를 사용하는 이유  (0) 2011.03.03
[Spring Roo] (1) Spring Roo란?  (4) 2011.03.03
  • sungsik81 2011.03.09 09:24 ADDR 수정/삭제 답글

    잘 읽었습니다.

    • 로그 2011.03.10 17:21 수정/삭제

      단순번역 내용이라...^^ 좀더 사용해보고 정리해야겠어오..

  • 한결 2012.08.18 07:56 ADDR 수정/삭제 답글

    보통 도큐멘트 보더라도 영어를 잘 못해 저런 부분은 지나치는 경우가 많은데 덕분에 잘 읽었습니다!!
    루비를 공부해볼까 하다가 스프링에 정이 많이 들었던 지라 Roo에 눈이 가서 요즘 이걸로 놀고 있네요!

    • 로그 2012.08.21 02:14 수정/삭제

      잘 읽었다고 하시니 기분좋네요 ^^ 요즘엔
      포스팅이 뜸하지만 분발하도록 노력할게요~~