simDev1234
심플하고 차분하게
simDev1234
전체 방문자
오늘
어제
  • 분류 전체보기
    • Computer Science
      • Basic Math
      • Data Structure
      • Algorithm
      • Database
      • OS
    • Language
      • Java
      • Kotlin
      • SQL
    • Framework
      • Spring
      • Orm&Mapper
      • 프로젝트로 스프링 이해하기
      • 스프링 라이브러리
    • Infra
      • Cloud
      • Docker
      • Redis
      • AWS, Azure
      • Device
    • Etc
      • CleanCoding
    • Git,Github

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 404
  • 자바메모리구조
  • 참조타입
  • JVM메모리구조
  • controllerTest
  • null
  • scanner #next() #nextLine()
  • 컨트롤러
  • 참조변수
  • 스프링
  • 자바
  • 자바프로그램
  • 자바프로그래밍

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
simDev1234

심플하고 차분하게

[LSM 만들기] 스프링부트 프로젝트 생성하기
Framework/프로젝트로 스프링 이해하기

[LSM 만들기] 스프링부트 프로젝트 생성하기

2022. 9. 28. 20:47

|  개요

- 수업에서 스프링부트로 LMS 프로젝트를 만들려고 한다. 

- 프로젝트 환경 설정을 하는 과정이 복잡해 보여서 정리를 하면서 따라가려고 한다.

- 지금 정리하는 부분 이전에서는 LMS를 사용하는 사이트를 벤치마킹 해서

  엑셀로 사용할 데이터를 정리한 후, ERD로 모델링을 했었다.

- 오늘 하는 내용에서는 먼저 깃헙을 로컬 저장소에 연동하고, jdk/was/db를 설치한 후, 스프링부트를 통해 각 에디터에서 프로젝트를 생성하는 걸 해보려고 한다.

 

Github 연동부터 DB 설치까지

- 지금 정리하는 부분은 JDBC 프로그래밍을 할 때- JDBC를 넣은 걸 빼고- 환경설정 방법과 거의 유사하다.

- 실제 회사에서는 DB가 이미 있을 것이므로, SQL툴 또는 cmd를 통해 DB 계정으로 접근하면 될 것 같다.

  구분 내용
1 git/github 로컬 저장소와 깃허브의 저장소 연결하기
2 데이터 모델
/로직 확인
erd를 통한 모델링, 로직 확인
3 Java JDK 설치
및 환경설정
[ 시스템 환경변수 ]
%JAVA_HOME%
 : jdk 폴더 위치
path : %JAVA_HOME%\bin
4 WAS 설치
및 환경 설정
[ 시스템 환경변수 ]
%CATALINA_HOME% : tomcat 폴더 위치
5 DB 설치
및 환경 설정
[ CMD를 통해서 환경 설정하기 ]

[1] db bin 폴더 위치에서, 관리자 권한으로 CMD 열기

** CMD를 연 상태에서 우측 마우스로 작업 표시줄에 넣기한 후,
   작업표시줄에서 [Shift] + 우측마우스로 해당 아이콘 누르면 관리자권한 쉽게 연다.

[2] DB installer로 설치, 서비스 시작

mariaDB 설치와 동시에 포트 설정 :
      
mariadb-install-db.exe --service=MariaDB -- password=1234 --port=43306 

** 윈도우 OS에서 서비스 시작 : net start MariaDB
** 윈도우 OS에서 서비스 중지 : net stop MariaDB

[3] 이미 설치한 상태에서 포트 변경시

** port default & 포트 변경 방법
- mariaDB, mySQL : 3306 (MariaDB 포트 변경 방법 바로가기)
- oracle : 1521  (오라클 포트 변경 방법  바로가기)

** 윈도우 OS에서 포트 확인하기
  (1) 프로그램 실행 후 작업관리자 > 서비스에서 PID를 얻은 뒤, 
  (2) CMD에서 netstat -ano 를 치면 포트 주소를 알 수 있다.

** 포트 변경하고 나면 항상 서비스 중지 후 재시작하여 PID 새로 받아야한다.
6 DB instance 및
테이블 생성
[ SQL 툴을 사용해서 DB 접속 ]

[1] SQL 툴 설치 후 접속 : ip, port 번호 등 작성 후 접속
- CMD를 써도 되지만 SQL 툴을 쓰면 빠르게 접속 가능.
- SQL 툴 : Heidi, DBeavor, DataGrip 사용해도 된다.
- heidi sql 사이트에서 설치파일 다운로드 바로가기

[2] 데이터베이스 생성 전, 인코딩 방식을 UTF-8로 지정
- 이때, DB 서비스를 반드시 중지 한 후 인코딩 변경 후, 재시작을 해야한다.
- 윈도우 OS에서 MariaDB 인코딩 설정방법 바로가기

[3] 루트 계정에서 database (instance) 생성
7 DB 사용자 설정 DBO 계정을 생성하여 앞서 만든 database 권한 부여

 

이클립스에서 스프링부트 프로젝트 생성

  구분 내용
1 이클립스
플러그인 설치
STS, JAVA Web

2 스프링 프로젝트
생성

[1] 새 프로젝트 생성하기

* 공공기업의 경우, 전자정부 프레임워크가 별도로 있다.
* 일반 스타트업에서는 아래와 같이 스프링부트를 주로 사용한다.
 


[2] 스프링 스타터로 프로젝트 생성

* Type : Build 타입
- Maven 보다는 Gradle이 더 가볍지만, 아직까지 Mavaen도 많이 쓰이고 있다.

* Packaging : 
- Docker를 사용해 Jar 파일을 쓰는 경우 등이 있을 때 jar로 저장
- 일반적으로 웹에서 작동하기 위해서는 war로 저장한다.

* Java version : jdk 버전

* Language : java를 쓸 경우 java라 치면 된다.



[3] 의존성 추가

* DB는 여기서 바로 추가해주면 없는 걸로 인식을 해서 차후 추가해주는 게 좋다고 한다.

* Template 도 처음으로 추가해봤는데, JSP 처럼 동적페이지 뷰를 만들어 주기 위한 템플릿들을 말한다. 

* 이번에는 타임리프를 사용하려고 하는데, 간단한 사용법에 대해서는 다음 링크에서 잘 설명해주는 것 같다. 바로가기

 

이텔리제이에서 스프링부트 프로젝트 생성

  구분 내용
1 인텔리J
스프링프로젝트
생성

STS, JAVA Web

* 인텔리J는 Jet brains 홈페이지에서 IDEA 버전으로 설치하면 된다. (이건 한달만 무료..ㅠ)
* 기능적인 부분은 똑같은데 확실히 이클립스보다 인텔리j가 GUI가 더 편안하다.





rf. 만약에, 프로젝트 생성했는데 제대로 작동하지 않는다면?
우측화면의 탭에서 [Maven]을 누르고, [life cycle]의 [package]를 눌러 수동으로 명령해본다.

2 뷰 세팅 * 툴 바 보이기 : [view] - [Appearance] - [tool bar]
* 프로젝트 세부 사항 확인 : [view] - [Appearance] - [details in preview]
* 세로 안내선(hard wrap) 설정 (80으로 맞추면 좋다) :
[Settings] - [Code Style] - [Java] - [Wrapping and Braces] - Hard wrap at
3 인텔리J에
내장된
SQL툴 사용

* JDBC설치
* SQL툴 사용

- 인텔리J의 강력함을 볼 수 있는 기능이다..
- 이클립스에서는 별도로 JDBC를 깔아줘야하고, 별도의 SQL툴을 써야 했는데,
- 인텔리J를 깔면 DB에 맞는 JDBC 다운로드 부터, SQL 연결까지 한 방에 해결할 수 있다.


 

 

[ 출처 ]

부트캠프 수업 후 정리한 내용입니다.

'Framework > 프로젝트로 스프링 이해하기' 카테고리의 다른 글

[LMS 만들기] 비밀번호 초기화 요청 및 메일 링크를 통한 초기화  (1) 2022.10.04
[LMS 만들기] 스프링 시큐러티를 이용한 로그인/로그아웃  (0) 2022.10.03
[LMS 만들기] 회원가입 페이지 만들기  (0) 2022.10.02
[LMS 만들기] 스프링 컨트롤과 주소 매핑  (0) 2022.09.30
[LSM 만들기] Maven 프로젝트 환경 보기  (0) 2022.09.29
    'Framework/프로젝트로 스프링 이해하기' 카테고리의 다른 글
    • [LMS 만들기] 스프링 시큐러티를 이용한 로그인/로그아웃
    • [LMS 만들기] 회원가입 페이지 만들기
    • [LMS 만들기] 스프링 컨트롤과 주소 매핑
    • [LSM 만들기] Maven 프로젝트 환경 보기
    simDev1234
    simDev1234
    TIL용 블로그. * 저작권 이슈가 있는 부분이 있다면 댓글 부탁드립니다.

    티스토리툴바