생각보다 공부한건 많이 없는데 글 쓰는데 시간이 많이 소요된다.
전 포스팅을 너무 정성스럽게 한것같기도 하고.. 쓰다보면 요령이 생기겠지?
오늘도 화이팅이다.!
1. STS 웹 환경 셋팅
Help > Eclipse Marketplace에서 웹개발 환경을 위한 플러그인 설치
Eclise Web Developer Tools : STS에서는 JAVA 파일만 생성 할 수 있는데, 웹 개발을 위한 jsp, javascript 등의 파일을 만들수 있는 플러그인
- js 파일 인식이 풀리지 않도록 설정 해준다.
Preferences 에서 General > Editors > File Associations 설정
Add 누른 후 *.js 추가
하단 Associated editors 에서 Text Editor 누른 후 Default 설정
2. 새로운 프로젝트 생성
- 우클릭 후 New -> Other 선택
- Spring Starter Project 선택
- Name, Artifact, Package 등 프로젝트 설정.
- 의존성 설정
- Spring Boot DevTools : 개발환경을 좋게 해줌. 파일의 변경이 일어났을 때 자동으로 재 시작을 해줌.
- Lombok : 어노테이션을 통해 자동으로 함수를 생성해줌.
- Spring Data JPA : JPA를 이용하여 ORM 사용가능하게 됨.
- MySQL Driver : DB는 MySQL
- Spring Security : 보안에 있어서 많은 기능을 제공해줌.
- Spring Web : annotation 을 사용하기 위하여
Web MVC를 사용하여 웹 애플리케이션을 만드는데 필요한 스프링부트의 기본적인 요소를 가짐.
내장형 컨테이너로 톰캣을 기본탑재하고 있다.(톰캣 설치할 필요가 없어짐.!)
- Finish 후 우측 하단에 진행률이 보인다. 다 되면 프로젝스 생성 완료!
3. template engine 이란?
찾아볼 예정!!
4. Mysql 설치 및 실행
~ % mysqld --version
/usr/local/Cellar/mysql/8.0.28/bin/mysqld Ver 8.0.28 for macos12.0 on x86_64 (Homebrew)
~ % mysql.server start
Starting MySQL
. SUCCESS!
만약 실행이 안되면 mysql 프로세스가 떠있는지 확인. (안지워지는 하나 빼고 다 삭제)
~ % ps aux | grep mysql
~ % kill -9 [PID]
5. MySQLWorkbench 연결 및 환경 설정
사용자 생성, 권한주기, DB생성
-- 유저이름@아이피주소
create user 'cos'@'%' identified by 'cos1234';
-- ON DB이름.테이블명
-- TO 유저이름@아이피주소
GRANT ALL PRIVILEGES ON *.* TO 'cos'@'%';
CREATE DATABASE blog CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
use blog;
6. MySQL DB와 Spring 연결
src/main/resources/application.yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/blog?serverTimezone=Asia/Seoul
username: cos
password: cos12345
7. HTTP 통신
- 통신 방식
Get 통신 : 데이터 요청 - SQL : Select
Post 통신 : 데이터 추가 요청 - SQL : Insert
Put : 데이터 수정 요청 - SQL : Update
Delete : 데이터 삭제 요청 - SQL : Delete
=> 어떤 데이터를 요청/추가/수정/삭제 ? 사용자가 Header에 넣어서 보내줌. (Mime type으로)
- Http는 stateless 방식으로 Socket통신을 한다.
클라이언트가 서버에 데이터 요청 시 마다 Stream(선)을 연결해서 Data를 주고받는 방식으로
서버의 부하가 적으나, 사용자 인증을 매번 해야하는 문제가 있다.
=> 이 문제는 spring security로 session을 유지시키는 방식으로 해결 할 수 있다. (난이도 상)
- statefull 방식은 연결이 지속 되어야 하는 채팅같은 프로그램에서 사용하는 통신 방식이다.
서버에 부하가 있지만, 최초 사용자 인증을 통한 Session이 만들어지면 지속적으로 Data를 주고 받을수 있다.
8. Maven이란?
스프링부트 강좌 15강(블로그 프로젝트) - maven이란
프로젝트 관리도구. 그림 추가 예정!
오늘은 셋팅만 하다가 끝난것같다.
내일부터 본격적으로 코딩 시작 아자아자.!!
'공부 > SpringBoot' 카테고리의 다른 글
[블로그] 오늘의 에러 (0) | 2022.02.21 |
---|---|
[블로그] 화면구현 (0) | 2022.02.18 |
[블로그] CRUD 테스트 (0) | 2022.02.12 |
[블로그] Blog DB Table 만들기 (ORM) (0) | 2022.02.08 |
[블로그] Tool 설치 및 git 연동 (0) | 2022.02.06 |
댓글