발표자료


궁금하신 점이나 문의사항이 있으신 분은 ihoneymon@gmail.com 으로 연락주세요.




한빛 미디어의 이북, 

일관성 있는 웹 서비스 인터페이스 설계를 위한 REST API 디자인 규칙

http://www.hanbit.co.kr/ebook/look.html?isbn=9788979149456

일관성 있는 웹 서비스 인터페이스 설계를 위한 REST API 디자인 규칙

을 살펴보셔도 좋습니다. 부족한 제 발표에 관심가져 주셔서 감사합니다.


 

 참고문헌  

 


 

 키워드  

 

자바, 스프링, 하이버네이트, QueryDSL, Jackson, Json, MariaDb, H2Dabase, Redis, EhCache, lombok, REST API, URI, RESOURCE, 도메인 설계


몰랐네. +_+)> logback.groovy    



이왕 그루비를 파기로 했으니, 계속 파보자.

이클립스에서 참조한 라이브러리의 소스코드가 보이지 않는 경우가 있다.

그럴 때는, 프로젝트Project의 속성Properties를 열어서 'Java Build Path' 탭 중 [Order and Export] 에서 'Web App Libraryes' 항목을 제일 밑으로 내리면 된다. 'Web App Libraries'를 선택하고 오른쪽에 활성화된 [Bottom] 버튼을 누르면 된다.


곧 있을 발표에 사용할 목적으로, 그레들Gradle과 JavaConfig를 적용한 프로젝트를 만들었다.

발표를 빙자해서 나도 JavaConfig 사용법을 익혀볼 요량으로 만들었다. 이번에 토.스.3.1을 읽으면서 JavaConfig를 통해서 XML설정을 대체했을 때의 강점들에 대해 전해 들은 바가 있어 시도해본다. 더욱 강점을 가지려면 @Profile을 통해서 사용환경별로 지정해서 사용하는 것이 좋을 것으로 보인다. 과연?

자바의 웹 애플리케이션에는 관례적으로 web.xml이 포함되어 있어야 했다. 그런데 서블릿3.0 스펙이 나오면서 web.xml 대신ServletContext를 스프링에서 확장한 WebApplicationInitializer를 구현하여 초기화 작업이 가능하다. 자세한 내용은 'web.xml 없는 스프링 개발'을 참조하기 바란다.

이번 예제 프로젝트에는 애플리케이션 설정과 관련된 XML들을 모두 @Configuration 애노테이션을 선언한 클래스들로 대체했다.

Github repository: https://github.com/ihoneymon/rocking-the-rest-api

▣ 선행작업

$ git clone git@github.com:ihoneymon/rocking-the-rest-api.git
$ cd rocking-the-rest-api
$ ./gradlew generateQueryDsl

▣ Import project

▣ Spring tools - Add Spring project nature

Spring Project Nature를 추가하고 프로젝트의 아이콘이 변경되면, 프로젝트의 속성창을 띄워서 [Spring-Beans Support]를 가면 아직 설정파일이 추가되어 있지 않다. [Scan...] 버튼을 누른다.

 @Configuration 이 붙은 JavaConfig 용 클래스들이 검색된다. 모두 선택하고 [OK]를 누른다.

Config 파일들 목록이 모두 추가되어 있다.

▣ Spring Beans 확인

'Spring Explorer' 창을 보면 아래 그림과 같이 스프링 빈과 관련된 클래스와 목록을 확인할 수 있다.

밑에 'Config Detection'에 설정을 변경하지는 않았지만, 혹시나 검색되지 않는다면 아래 그림에서 보는 것처럼 'Auto detection for annotated Java Spring configuration files'를 체크하자.



이후에는 간단하게 Controller들을 구현해주면 발표하려는 수순까지 발표에 사용가능하다.

오늘은 열심히 발표자료들 수집하고, 대략적으로 내용을 정리해야지.


아래 그림에서 보는 것처럼 '@RequestMapping' 뷰에서 컨트롤러에 있는 @RequestMapping 을 스캔하지 못하는 경우가 있다. 이런 증상이 나타나는 이유는 STS 플러그인에서 빈설정과 관련된 파일을 읽지 못하면서 발생한 것이다. 간단하게 스프링빈 설정과 관련된 파일을 추가하는 것으로 해결가능하다.

프로젝트를 선택하고 마우스 우클릭 후 'Properties'를 선택하거나 'Alt+Enter' 단축키를 통해서 프로젝트 속성창을 호출한다.


프로젝트 속성창에서 'Spring - Beans Support' 를 선택했을 때, 아래그림고 같이 'Maintain Spring bean configuraton files' 항목이 비어있는 경우에 'RequestMapping' 뷰에 목록이 노출되지 않는다. 그림에서 보는 것처럼 XML 빈설정과 자바클래스를 통한 빈설정 두가지를 추가할 수 있다.

xml로 빈설정을 했다는 가정을 하고,  [Scan..] 버튼을 누른다.



그럼 자동으로 프로젝트 내에서 <beans> 태그를 가진 xml 파일들을 스캔하여 팝업창에 목록을 노출한다. 적용하려고 하는 빈설정파일을 선택하고 [OK] 버튼을 누른다. 웹 애플리케이션 설정을 하는 xml 파일만 선택해도 된다. 그러면 아래 그림과 같이 Config Files에 선택한 파일이 추가된다. [OK] 버튼을 눌러 프로젝트 속성창을 닫고 'Spring Tools - Show RequestMapping'을 선택한다.




아래 그림에서 보는 것과 같이 @RequestMapping 목록이 추가 된 것을 확인할 수 있다.



+ Recent posts