Spring_프로젝트_환경설정

2023. 11. 7. 12:26Spring 백엔드 개발/스프링 입문_김영한 강의 정리

SMALL

intellij 를 이용하여 실습 환경을 구축하였다.

 

1. 프로젝트 환경설정

2. 라이브러리

3. view 환경설정

4. 빌드하고 실행하기


1. 프로젝트 환경설정

- java 11 버전 설치 후 intellij 사용

- https://start.spring.io 를 사용하여 스프링 프로젝트 생성

-> 스프링 부트 기반의 스프링 프로젝트를 만들어주는 사이트

더보기

사용법

-  snapshot : 아직 만들고 있는 버전

- group : 기업 도메인 이름 

- altifact : 프로젝트 이름과 같은 개념

- dependencies : 어떤 라이브러리를 가져다가 사용할지 선택 
: Spring web, tymeleaf

 

- 세팅 후 generate 를 눌러 파일을 다운받는다. 

- 압축 파일을 풀고 intellij 를 이용하여 열어서 사용한다.

- main
-- java : 실제 소스코드와 패키지가 있는 파일

-- resources : 실제 자바 코드를 제외한 설정파일, html 등등의 파일, java 파일 외의 모든 파일이 들어가 있음

- build.gradle : 버전 설정하고 라이브러리 가져오는 역할

 

- 실행

-- main - java - hello.hello_spring - HelloSpringApplication 메소드 실행 

-- HelloSpringApplication 실행하면서 내장된 웹 서버인 톰캣이 실행되면서 스프링 부트를 서버에 올려서 웹 페이지로 나타낸다.

메소드 실행 후 localhost:8080 연결 페이지


2. 라이브러리

- 사용자가 설정한 라이브러리

- 실제 가져온 라이브러리 

- 라이브러리 사이에 의존 관계가 있어서 실제 가져오는 라이브러리는 매우 많다. 

라이브러리 의존 관계

- log : 에러 관리를 위해 사용 

-- logback + slf4j 를 이용

- test : junit4,5 사용, 일반적으로 java 진영에서 많이 사용함

반응형

3. View 환경설정

- welcome page : localhost:8080 로 접근했을 때 나타나는 시작 화면

-- main - resources - static 패키지에 index.html 에 시작 화면 html 파일을 작성

파일 구조

- spring.io 이동 - project - spring boot 에서 필요한 기능을 찾는 것이 중요하다.

- 현재는 정적인 정해진 데이터만 보여주는 형식인데 thymleaf 를 이용하여 동적인 화면을 만들 수 있다. 

 

- controller 를 이용하여 동적인 데이터를 나타낼 수 있다.

-- hello.hello_spring 패기지 안에 controller 패키지 생성 - helloController 파일 생성

-- resource 패키지 - templates - hello.html 파일 생성 =-> helloController 파일에 연결

 

- controller 코드

-- 작동 방식 

--- controller -> getmapping 안에 들어가는 단어는 /hello 로 접근할 수 있는 url 값

--- return 값을 갖고 viewresolver 가 "return "hello"" -> templates/hello.html 이라고 인식해서 웹서버에서 랜더링


4. 빌드하고 실행하기

- terminal 에서 진행

- hello_spirng 폴더 파일로 이동 

- mac 사용자 이기에 "./gradlew build" 를 이용하여 빌드

- build 에 성공한 후 "cd build/libs" 로 이동하여 ls 명령어를 통하여 서버 실행 가능

-"java -jar hello_spring-0.0.1-SNAPSHOT.jar" 를 이용하여 서버에서 spring 실행가능

 

 

SMALL

 

반응형
LIST

'Spring 백엔드 개발 > 스프링 입문_김영한 강의 정리' 카테고리의 다른 글

Spring_웹_MVC_개발  (1) 2023.11.09
Spring_회원관리_예제  (0) 2023.11.09
Spring_웹_개발_기초  (0) 2023.11.08