Framework & Management/Spring

10월 26일 수요일 [코드로 배우는 스프링웹프로젝트] -1day 설정

구일일구 2022. 10. 26. 18:12
반응형

이 책을 내며.. 이딴거 보지마셈

개정판 차이 : 스프링부트는 xml 설정이 없음 / 프레임워크는 xml설정+클래스 설정 가능 // 개정판은 오라클로 처리 / 스프링시큐리티 소개

목표 : 오늘은 세팅하고 테스트까지. 내일부터 본격적으로 진행함 => 2주 좀 넘게 진행할 것 // 한두개 더 작업하고 정리한 후에 프로젝트 시작할 것 (11월 중순 or 11월 마지막주부터 프로젝트 할것) 

프로젝트 할때도 1-2시간 정도 수업들을 것 : 프론트엔드 단 공부

* 스프링 5.x 버전 할 것. : 개발도구는 spring tool suite + maven 으로 작업할 것

* 시큐리티 : 회원가입할 때 비밀번호 같은 부분에서 필요함 + 암복호화 할때 필요함

* Lombok을 이용하면 set, get 안해도 됨 = > 큰 의미는 없음

* ibatis 대신 Mybatis 사용할 것 

 

[책]

part4까지 나갈 것 => 게시판, 댓글 다 할 수 있음

* 차근차근 세팅하기 => part1의 1.개발을 위한 준비 => 오늘 나갈 부분

* 의존성 주입 : 내일 DI 볼 것.

 

유튜브에 [스프링웹프로젝트] 강의 올라와있음 => 복습용으로 볼 것

* JDK는 11버전으로 계속할것 => 건너뛰기 p19 

* STS 설치

* 오라클 db는 건너뛰기

 

* spring4는 지금X : springtoolsuite3 받아야 함

* spring tool suite3  eclips 4.21 에서 : window는 zip / mac은 dmg 받기

https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3

 

GitHub - spring-attic/toolsuite-distribution: the distribution build for the Spring Tool Suite and the Groovy/Grails Tool Suite

the distribution build for the Spring Tool Suite and the Groovy/Grails Tool Suite - GitHub - spring-attic/toolsuite-distribution: the distribution build for the Spring Tool Suite and the Groovy/Gra...

github.com

 

* 기존엔 APP이란 폴더를 만들어서 썼는데, 이제는 따로 만들어서 쓰기

* stsApp 폴더 만들기 => 다운로드 받은거 카피해서 작업하던 곳에 집어넣고, 압축풀기 => 3.9.18 들어가서 sts.exe 누르기 => 더블클릭

workspace 선택=> stsApp 선택 => use this as the... 하면 다시는 창이 안뜸

그냥 로고만 바뀌었을뿐,,이클립스랑 똑같

help =>about springtoolsuite3 보면, 결국은 이클립스. 이지만 스프링스 관련된 내용이 들어가있는 이클립스다.

 

오른쪽 상단에 spring으로 되어있음

bootdashboard 없애고, outline 없애고, 내맘대로 옮겨놓기

서버 원래 있는건 지워버리기

servers 라는 package 남아있는데 아무것도 없으니까 그냥 남겨놓기

window => preference => java => installed JREs => jdk 11.0.16 추가해놓기 

서버 = > 아파치9.0 => 브라우저에 톰캣 넣고 = > JRE 넣기 

HTTP/1.1 의 8080 포트 9000으로 바꾸기 => 서버 돌려보기 => remind me later 누르기 => 톰캣 구동완료

하면 끝!

오른쪽버튼=> spring legacy project로 작업 => 이름(SpringHello) => template에서 springMVCproject로 선택 => next => YES => toplevelpackage (반드시 세개로 입력할 것) => finish로 넣기 com.ez.hello => 오른쪽 아래 100% 될때까지 그대로 둘 것

책에 나와있는건 실행하고 오류 떴을때 고치기. 오류 안뜨면 그냥 그대로 사용하면 됨

=> springhello => properties => project facets => java 11로 올리기 => java buildpath의 libraries의 JRE를 11버전으로 올리기

 

component-scan : 패키지만 지정하면, 패키지에 들어있는 컨트롤러를 자동으로 객체 생성시켜주는 칭구

원래는 라이브러리 카피 개많이 했었는데, web-inf 밑에 lib 파일이 없음.

이제 pom.xml이 있음 => 로직 개많음 => maven dependencies 를 열면, jar 파일이 엄청 많음

프로그램의 구조가 바뀜 => groupId , artifactId는 프로젝트와 패키지를 구분시켜줌 => 처음에 세자리 이름을 잘 만들어야함 

pom.xml에서 <springframework-verion>에서 라이브러리 버전을 바꿔주면 알아서 jar 파일이 변경됨 

.m2 폴더 안에 있는것들 백업해놓으면 가지고 다니면 인터넷 느린 경우에 다 다운 받지 않고 바로 넣어버리면 그만임

 

src/main/java(자바파일) 와 src/main/resources(properties) 는 거의 같다고 보면됨

 

preference => general = >workspace에서 utf-8로 바꾸면, 모든 인코딩을 utf-8로 바꿀 수 있음니다.(교재25)

preference = > web = >cssFiles => encoding UTF-8로 바꿈, html도 기타 등등 암튼 다 바꾸고 작업하면 인코딩 다 잡고 작업할 수 있음

하면 세팅 끝~~~!!!

 

한글 깨지면 => src => main = > webapp=> WEB-INF => views=>home.jsp에서

<%@ page contentType="text/html; charset=UTF-8" %>

넣어주기

한글 안깨짐니다

 

프로젝트 할때, 다같이 pom.xml ㅁ만들고 기본틀 잡고 같은 버전으로 사용하기

 


쌤이 준 강의자료 확인하기

임포트 => Maven => Existing Maven Projects 로 해야함 => next => ex00 선택하고 finish 하면 임포트 됨

앞으로 느낌표가 뜨는 순간 안되는 프로젝트! => 빨간줄 찾아다니기 => 

oracle은 maven통해서 다운로드 못받음 

구글 => dependency ojdbc8 이라고 검색 => 

https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8

여기서 가장 많이 받은걸로 받기 => 눌러서 들어가서 Maven으로 되어있는거 복붙하기 넣고나서 폴더 안에 ojdbc 파일 받아졌는지 확인하기

<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 -->
<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.1.0.0</version>
</dependency>

 

Lombok 다운로드

https://projectlombok.org/

 

Project Lombok

 

projectlombok.org

https://devmg.tistory.com/135

 

맥OS / STS에 lombok 설치하기

1. 다운로드 lombok 다운로드 : https://projectlombok.org/download Download projectlombok.org 아니면 첨부 한 것을 받는다. 2. 터미널로 롬복 위치로 이동 터미널을 열고 다운로드 폴더로 접근한다. cd down..

devmg.tistory.com

 

자바코드 설정은 건너뛰라고 하셨지만,, 그치만 하긴 해야한다고,,,하십니다,, => 부트 할때 필요하기 때문

jex00 import 하려고했으나 실패,, 지우고 임포트 해보십쇼

 

잘 보면서 정리해야합니다,,

프레임워크는 설정이 다합니다,,

 

 

2장 챕터 잘보고 열심히 읽어보고 정리하기!!

* DI 개념 그림으로 나와있으니 잘 확인(p.51)

* spring context : 메모리 저장소

 

 

@Component , @Controller, @Service, @Repository : 클래스 단에 얘네가 붙어있는 애들만 스캔해서 객체로 만들어줌

@Data => 5개의 생성자 메소드를 만들어줌 => lombok이 가지고 있음

* 레스토랑.자바 => @Setter를 만드니, 자동으로 setChef(Chef)가 붙음(물론 getter)도 자동으로 완성됨

* 롬복 : 코드를 줄이기 위해서 씀

* onMethod_ = @Autowired ==> 스프링 컨테이너에 있는 레스토랑에서, Chef 타입으로 만들어진 객체를 가져다 쓰겠다는 것.

그전까지는 bean으로 클래스를 객체로 생성한 후, 그 밑에 있는 sqlMapClientTemplate 메소드에서 직접 가져다 쓴다라고 사용했었는데,

이제는 그런거 안하고, 내가 만든느 클래스단에다가 어노테이션 붙여서 자동으로 클래스에 객체를 생성해서 저장하고, 객체끼리 관계설정해서 가져다 쓸때, autowired를 사용해서 쓴다! 라고 생각해라.

3.x대에서 사용했던것들은 코드를 많이 치긴하지만, 눈에 보이긴 했었는데

이제부턴 눈에 보이진 않으면서도 코드가 간결해지기 때문에 초반엔 어려울 수 밖에 없음 => 그러니까 그 전에 공부한것들을 계속해서 복습하면서 머리로 연결하려고 노력해야함

 

툴을 이용해서 코드를 작성하려고 해보시개 => 일일이 빈설정을 하려고 하지말고, 툴을 사용해서 해보려고.

 

자바코드 설정은 일단 무시하고 넘어가기 => 나중에 보기 

 

 

 

 

 

반응형