본문 바로가기

개발/Java12

[Spring] Maven 이용한 Spring MVC 프로젝트 생성(VSCode 사용) :: 마이자몽 실습에 앞서 Maven에 대한 이해를 위해 아래 링크를 통해 Maven에 대해 알아보자. [Spring] Maven 사용하는 이유, 알아야하는 이유 :: 마이자몽 Maven 이란? Spring MVC 프로젝트를 진행하면서... 이클립스를 이용하면서 Maven이라는 단어를 들어보셨나요? 네. 아마 한번쯤은 들어봤을겁니다. 왜냐하면 이클립스를 이용하는 사람이라면 이미 사용했습니다... myjamong.tistory.com Maven Spring MVC 프로젝트 생성 대부분의 Spring MVC 프로젝트는 이클립스 에디터를 이용해서 개발하다보니 Maven의 명령어들을 직접 사용하면서 Spring MVC 프로젝트를 빌드하는 경우는 많이 않을 것이다. 그래서 이번 실습은 VSCode라는 에디터를 사용해서 직접 터.. 2020. 2. 12.
[Spring] Maven 사용하는 이유, 알아야하는 이유 :: 마이자몽 Maven 이란? Spring MVC 프로젝트를 진행하면서... 이클립스를 이용하면서 Maven이라는 단어를 들어보셨나요? 네. 아마 한번쯤은 들어봤을겁니다. 왜냐하면 이클립스를 이용하는 사람이라면 이미 사용했습니다. 이클립스에는 Maven이 내장되어 있습니다. 증거로 여러분들은 pom.xml파일을 이용해 dependency를 추가하고 삭제하여 라이브러리를 관리해왔기 때문입니다. Maven은 프로젝트를 빌드하고 라이브러리를 관리해주는 도구입니다. Maven을 사용하는 이유 Maven을 사용하는 이유는 Maven의 정의에 다 나와 있습니다. 프로젝트를 빌드해주고 라이브러리를 관리해주고... 그런데 이런 기능들이 생겨난 이유가 당연히 있겠죠? 바로 개발자들이 편하게 서로 같이 협력하면서 일을 할 수 있도록 .. 2020. 2. 11.
[Spring] Maven 라이프사이클 알아보기 :: 마이자몽 Maven 라이프사이클 이클립스를 사용해서 Spring MVC Project를 만들고 사용해보셨다면... Maven을 들어봤지만 정확히 무엇을 해주는 것인지? 그리고 어떻게 어떤 원리로 작동하는 것인지 잘 모르고 사용해 왔습니다. 이클립스에 내장시켜 놓을만큼 중요한 것이기 때문에 꼭 알고 넘어가는 것이 중요하다고 생각합니다. Maven은 프로젝트의 라이브러리를 관리해주고 빌드를 해주는 두가지 기능을 갖고 있습니다. Maven의 라이프사이클은 이 두가지 기능 중 두번째, 빌드와 관련된 개념입니다. 프로젝트를 빌드하는데 있어 분명 순서가 존재합니다. 그 순서를 바로 Maven의 라이프사이클이라고 합니다. Maven 라이프사이클 종류 Maven의 라이프사이클 종류는 위 이미지에서와 같이 3가지 Default(.. 2020. 2. 11.
[JAVA] 추상클래스 VS 인터페이스 왜 사용할까? 차이점, 예제로 확인 :: 마이자몽 추상클래스 인터페이스 왜... 사용할까? 우리는 추상클래스와 인터페이스에 대해서 알고 있냐고 누가 물어본다면 알고 있다고 대답을 하고있습니다. 그런데 이론적인 내용 말고 정작 "왜 사용하나요?", "차이점이 뭔가요?", "추상클래스를 사용할지 인터페이스를 사용할지 어떻게 정하나요?" 이런 실무적인 질문이 들어오면 시원하게 대답하기가 생각보다 힘들겁니다. 힘드셨기 때문에 지금 이 글을 읽고 계실거라고 생각합니다. 저도 마찬가지였고 단순히 추상클래스와 인터페이스가 무엇인지 보다 왜 사용하는지가 궁금하셨다면 아래 제 생각들을 천천히 읽어주시면 도움이 될 수 있을것이라 생각합니다. 일단 기본적으로 추상클래스와 인터페이스가 무엇인지 알아봅시다. 추상클래스란? 추상클래스는 일반 클래스와 별 다를 것이 없습니다. 단.. 2020. 2. 8.
[Spring] VSCode로 스프링 프로젝트 빌드 :: 마이자몽 VSCode 스프링 프로젝트 빌드스프링 프레임워크로 개발을 진행할때 이클립스 에디터를 가장 많이사용한다. 프로젝트 생성부터 프로젝트 설정을 편리하게 할 수 있어서 가장 많이 사용되고 자바 개발을 처음 입문하는 사용자들은 주로 이클립스를 사용한다. 개발이 조금씩 익숙해지면 이클립스가 굉장히 무거운 에디터라는 것을 느끼게 된다. 스프링 프레임워크로 개발을 진행하는데 다른 에디터를 사용하고 싶다거나 조금 더 가벼운 에디터를 사용하고 싶다면 VSCode를 추천합니다. 해당글에서는 프로젝트 생성이 아닌 이미 생성된 스프링 프로젝트를 맥OS 환경에서 빌드하는 작업을 하겠습니다.윈도우와 비교 했을때 환경변수 설정 방법 이외에 동일합니다. VSCode 홈페이지에서 에디터를 설치해준다.https://code.visual.. 2019. 6. 14.
[Spring] 스프링 엑셀 POI 스타일, 폰트 적용(POI 라이브러리 2편) :: 마이자몽 POI 셀 스타일, 폰트 적용POI 라이브러리 사용 1편에서 엑셀파일을 만들어 다운로드 그리고 업로드해서 데이터를 받아오는 작업을 진행했다.[개발/Spring] - [Spring] 스프링 엑셀파일 업로드 다운로드 기본(POI 라이브러리 1편) :: 마이자몽스타일 및 폰트적용은 위 글에서 이어지는 내용이므로 아직 엑셀 다운로드 기능이 완료되지 않았다면 해당 글을 확인하여 실습을 진행한다. 이번글에서는 엑셀 다운로드를 받을때 스타일링과 폰트를 설정해서 받을수 있게 POI라이브러리에서 설정하는 방법을 실습을 통해 코드를 작성해볼것이다. 해당 실습은 POI라이브러리 4.0.0 버전을 사용했다. 엑셀 다운로드 최종 결과물이번 실습을 통해 병합, 셀 스타일링, 폰트를 수정해서 아래와 같은 엑셀파일을 만들어볼려고한다.. 2019. 4. 28.
[Spring] 스프링 엑셀파일 업로드 다운로드 기본(POI 라이브러리 1편) :: 마이자몽 엑셀파일 업로드 다운로드어느 프로젝트를 진행하던간에 웹으로 데이터를 관리하는데 엑셀파일 기능이 빠질 수 없다.DB데이터나 어떠한 로직에 의한 결과값을 엑셀파일 형태로 다운로드를 받거나 엑셀로 정리한 파일을 업로드해서 API에 해당 데이터를 던지거나 DB에 저장하는 작업은 꼭 필요하다.엑셀만 잘하면 프로그램이 필요없다는 말이 있듯이, 웹상에서 원활하게 엑셀파일을 활용할 수 있도록 관리도구를 만들어주는 프로그램은 꼭 필요하다. 이전에 올린 파이썬으로 엑셀파일을 다로는 법(https://myjamong.tistory.com/51) 보다는 조금 더 복잡한 구조로 되어 있지만, 아직은 자바 스프링 프레임워크를 사용하는 공공 업체들이 많아 꼭 알아놔야한다고 생각한다.스프링을 활용한 엑셀 파일 업로드 다운로드를 테마.. 2019. 4. 23.
[Spring] 몽고DB CRUD 데이터 연동 :: 마이자몽 Spring 몽고DB 연동 때로는 특정 정해진 상황과 환경에 맞춰서 코딩작업을 해야하는 경우가 있다. 프로젝트를 시작할때 기본적으로 RDBMS 형태의 MySQL과 NOSQL 몽고디비를같이 사용해야한다. 이때 모든 사이트에서 공통의 소스코드를 공유하기 위해 커스텀작업으로 DB에 데이터를 축적시키는 로직이 필요할때, MySQL을 사용할것인가? 아니면 MongoDB를 사용할 것인다. 필자는 MongoDB를 사용하는것이 적합하다고 판단했다. 아무래도 확장성이 좋고, MySQL처럼 테이블을 생성하고 칼럼정의를 해야하는 것보다, 편하게 데이터를 삽입하기 위해 MongoDB를 택했다. 물론 상황에 따라 MySQL을 사용하는것이 적합할때도 있다. 하지만, 기본 솔루션 베이스의 커스텀을 입힌다는 특성상 간단하게 풀어나가.. 2019. 4. 14.
[Spring] background Thread 동적 작업 실행시키기 ThreadPoolTaskExecutor :: 마이자몽 Spring 동적 작업 실행 ThreadPoolTaskExecutor 생각보다 개발을 진행할때 Runnable Thread를 이용하는 경우가 많지 않다. 특히 웹개발이나 서버개발을 하다보면, 게임처럼 동적인 기능보다 정적인 기능이 많이 요구된다. 필자는 프로젝트 진행중, API와 지속적인 연결을 하면서 다른 작업들을 동시에 할수 있는 기능을 코드상으로만 구현해야하는 상황에서 Spring에서 제공해주는 ThreadPoolTaskExecutor를 사용했다. 간단한 데모웹페이지를 만들어 버튼을 클릭했을때 작업이 백그라운드에서 진행이 되고 버튼은 disable시키는 작업을 해볼것이다. 프로그레스바나 작업의 진행을 보여주고 싶었으나... 간단한 테스팅모듈이라 최대한 가볍게 새로고침했을때 마다 확인이 가는하도록 구.. 2019. 4. 14.
[Spring] 스프링 Logback 로그 파일로 남기기 :: 마이자몽 프로젝트를 진행하면서 로그를 남기는 것은 매우 중요하다.톰캣환경에서 APP별로 로그를 확인하기가 어렵다.그래서 APP별, 일자별로 분리해서 로그를 남기는 것이 중요하다. Logback 메이븐 추가Spring 프로젝트 pom파일에 아래 디펜던시를 추가해준다.필자는 Lombok을 사용하여 로그와 VO클래스들을 관리한다.Lombok이용은 필자가 이전에 올린 글을 확인한다.http://myjamong.tistory.com/15 12345678910111213141516171819 org.projectlombok lombok 1.16.16 ch.qos.logback logback-classic 1.2.3 ch.qos.logback logback-core 1.2.3 cs logback.xml 파일 설정resourc.. 2018. 12. 28.