나를 포함해서 스프링에 입문할때 IntelliJ IDE + SpringBoot 조합으로 입문하는 경우가 꽤 많을 것이다
주관적으로 평가 했을때 나는 JetBrain의 제품들이 사용하기 더 편리하다고 생각하는데,
이미 AndroidStudio를 통해 JetBrain의 개발툴을 겪어 보았고 신세계를 경험 할 수 있었다. IntelliJ 역시 두말 할것 없이 만족하며 사용했다 세팅 없이도 똑똑하게 채워주는 자동완성, 번잡스럽지 않은 메뉴와 UI는 다시는 Eclipse로 돌아가지 못하게 하기 충분할 정도였다
자바 백엔드 개발자라면 필연적으로 Eclipse를 사용하게 되고 또 사용할 줄 알아야 한다
SpringFramework를 사용 할줄 알지만 Eclipse 환경에서 개발이 불가능하고,
SpringLegacy의 xml 방식의 지시서를 이해할 수 없다면 프레임워크를 이해하지 못한 것과 다르지 않다 가장 중요한 이유는
실무에서는 다양한 환경과 다양한 기술 스택을 사용한다
최신 스택을 사용한다고 좋은 회사도 아니고, 구형 스택을 사용한다고 나쁜회사도 절대 아니다 각 서비스에 적합한 환경이 있을 뿐이다. 또한 내가 익숙한 환경이 아니라서, 사용해 본적 없는 기술이라서 할 수 없다는것은 핑계일 뿐이다
프로젝트를 하며 다양하게 경험 하기로
나는 기본적인 jdbc만 학습 후 IntelliJ 환경에서 SpringBoot&JPA 스택을 활용하여 개발공부를 해왔다. 하지만 모든 회사가 위의 환경으로 개발을 하는것이 아니라는 것을 잘 알고있다. 때문에 일부러 Eclipse와 Mybatis 조합의 스택으로 새로운 프로젝트를 기획하고 개발하기로 했다.
한번이라도 써본것과 안써본것은 차이가 있기에
스프링은 다양한 IDE 환경에서 개발할 수 있도록 STS(springTools)를 제공한다
Eclipse도 이들 중 하나이다. 덕분에 우리가 해야할 세팅은 크게 없다
적용하기 위한 방법은 크게 두가지가 있는데
- 위의 공식페이지 에서 Eclipse용 STS를 다운받아 적용 하거나
- Eclipse Marketplace 에서 설치 하는 방법
두가지가 대표적이다 나는 편의성을 고려하여 2번 방식으로 적용했다
이클립스 메뉴중 Help - EclipseMarketplace 클릭
'sts' 검색

여러가지 버전이 검색되는데 원하는 버전에 맞추어 설치
설치 완료 후 프로젝트 생성(File-New-Other)

Spring Boot / Spring Starter Project 선택
프로젝트 생성시 원하는 방식과 Starter Dependency 선택 후 프로젝트 생성

위 과정을 통해 SpringBoot 프로젝트를 편리하게 생성할 수 있다
'스프링은 세팅이 반이다' 라는 말은 이제 무색해질 정도로 편리하게 세팅이 가능하다 (SpringBootStarter의 도움이 매우 컸지만)
프로젝트를 생성하면서 SpringStarter에서 Lombok을 바로 추가하여 사용 하였다
그런데 아무리 Lombok에서 제공하는 어노테이션들을 써봐도 기능들이 동작하지 않았다
@Data를 사용해도 자동적으로 메서드들이 생성되지 않았고, @Log4j2를 사용해도 로깅을 사용 할 수 없었다. 분명히 Dependency를 추가했음에도 작동하지 않아 크게 당황했다
Eclipse에서는 명확히 에러를 표시해 주지 않았고, 삽질을 하게되었다. 하지만 참고서와 검색을 통해 금방 해답을 찾았는데
Eclipse에서 Lombok이 제대로 동작 하지 않는다면 따로 설치가 필요하다 https://projectlombok.org/download
위 주소에서 다운로드 받아 실행한다
보통 위와 같이 이클립스나 STS의 실행파일이 자동으로 표시 될텐데, 안된다면 직접 지정하고 Install한다
설치가 완료되면 Eclipse를 재실행 하여 Lombok의 동작 여부를 확인한다.