반응형 스프링부트19 스프링부트 강좌 13강(블로그 프로젝트) - http요청 실습1 www.youtube.com/watch?v=BNiDNAWZn-E 1. STS 와 Postman 실행 2. com.cos.blog.test 패지지 밑에 HttpControllerTest 클래스 생성 3. HttpControllerTest 클래스 수정 // 사용자 요청 -> 응답 (HTML) // @Controller // 사용자가 요청 -> 응답(Data) 시 사용 : 이번 실습 @RestController - 함수 4개 생성 1) public String getTest() { retuen "get 요청"; // String 함수 생성으로 리턴도 문자열 반환 } 2) postTest() 3) putTest() 4) deleteTest() - 각 함수에 어노테이션 생성 ^^^^^^^^^^^^^^^^^^^^^.. 2020. 9. 9. 스프링부트 강좌 12강(블로그 프로젝트) - MIME타입이란 www.youtube.com/watch?v=NVjnu4xBdpw - HTTP 헤더와 HTTP 바디의 기본 개념 : 헤더 - Data 설명 : 바디 - 실제 Data HTTP 통신 - 패킷 스위칭 : 회선 공유 : 모든 패킷에는 헤더에 정보값이 있다. (조립을 하기 위해) - 서킷 스위칭 : 속도 빠름, 회선 비용 증가 MINE 타입 (developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types) - 데이터를 보낼때 정하는 방식 - 클라이언트에게 전송된 문서의 다양성을 알려주기 위한 메커니즘. : 웹에서 파일의 확장자는 별 의미가 없다. : 그러므로 각 문서와 함께 올바른 MIME 타입을 전송하도록, 서버가 정확히 설정하는 것이 중요. - JSON 파.. 2020. 9. 9. 스프링부트 강좌 11강(블로그 프로젝트) - stateless란 www.youtube.com/watch?v=fLpmG5tIg1c 요약 : stateless방식은 한번의 요청과 응답이 이루어지면 클라이언트와 서버와의 연결선이 끊어지는 것을 말한다. 이 방식은 주로 http에 사용되는 방식이며 이는 서버의 부하를 줄여준다. - JAVA 는 소켓통신 : Stateful 방식 - 연결 지속 (HTTP 방식은 이 방식을 사용하지 않음) : 세션 (인증) - 데이터를 응답해줄 준비가 됨 - HTTP 방식 (Stateless 방식) : 요청과 응답이 이루어지고 난후 곧바로 끊어버림 : 요청시마다 스트림을 연결해서 Data를 주고 받는 방식 : 서버 부하 적음 : 요청/응답/끊기 : 세션(인증) 유지 방법 없음 : Stateless 환경에서 어떻게 세션을 유지하는지 배운다. (스프.. 2020. 9. 9. 스프링부트 강좌 10강(블로그 프로젝트) - http1.1 요청방식 https://www.youtube.com/watch?v=6lSMCAq-fYg&list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm&index=10 1. POSTMAN 설치 (크롬 확장프로그램 조회) : Postman은 개발한 API를 테스트하고, 테스트 결과를 공유하여 API 개발의 생산성을 높여주는 플랫폼입니다. - Postman Interceptor 설치 - 설치 후, 시작프로그램에서 Postman 검색 실행 2. HTTP1.1 get post delete put - 통신을 하기 위해서 Byte Stream (8bit) 필요 - 요청을 항상 클라이언트가 한다. - 통신방법 : 4가지 (요청의 방법) 1) GET : 데이터를 줘 ! - Select 2) Post : 데이터를 추가해줘.. 2020. 9. 9. 스프링부트 강좌 9강(블로그 프로젝트) - Git의 3가지 영역 https://www.youtube.com/watch?v=pkR_ZeMjWGo&list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm&index=9 Git 은 작업영역, 인덱스, 헤드 3가지 영역을 동기화한다. 2020. 9. 9. 스프링부트 강좌 8강(블로그 프로젝트) - Git의 추상적 개념 https://www.youtube.com/watch?v=9Nk1a6UMAqo&list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm&index=8 2020. 9. 9. 스프링부트 강좌 7강(블로그 프로젝트) - Git설치 및 Github연동 https://www.youtube.com/watch?v=O13vCHjKKuk&list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm&index=8&t=0s 1. github 회원가입 (https://github.com) 2. git 설치 (https://git-scm.com/downloads) 3. 내 프로젝트 git 연동 - 해당 blog 프로젝트 폴더로 이동 (C:\workspace\blog) - 마우스 오른쪽 -> Git Bash Here git init git add . git commit -m "환경세팅완료 v1" git remote add origin 주소 git push origin master - Cmd 창에서 -> git init 입력 - git add . (해당 폴더내.. 2020. 9. 8. 스프링부트 강좌 6강(블로그 프로젝트) - MySQL 스프링연결 https://www.youtube.com/watch?v=G6fgEiI_pEA&list=WL&index=2&t=0s 1. MySQL 스프링 연결 방법 - src/main/resources/application.properties 파일을 application.yml 이름 변경 (shift+F6) : yml 은 JSON 같은 데이터 타입을 가지고 있다. : 스프링부트는 yml 파일에 모든 설정을 할 수 있다. - application.yml 내용 저장 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/blog?serverTimezone=Asia/Seoul username: cos pas.. 2020. 9. 8. 스프링부트 강좌 5강(블로그 프로젝트) - MySQL 환경세팅 https://www.youtube.com/watch?v=GuHhQP0897s&list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm&index=6&t=1s 1. MySQL Workbench -> 관리자로 접속하기 (root) 2. MySQL 사용자 생성 및 권한주기 및 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; -- 기존 cos 유저 .. 2020. 9. 8. 스프링부트 강좌 4강(블로그 프로젝트) - 프로젝트 실행해보기 https://www.youtube.com/watch?v=n33ao_cbhsU&list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm&index=5&t=1s Controller 하나 생성하여 실행해 보기 - com.cos.blog 선택 -> NEW -> Package -> com.cos.blog.test 생성 - 패키지는 폴더가 생성됨 - com.cos.blog.test 선택 -> NEW -> Class -> BlogControllerTest 생성 - Controller 는 Class 이다. a라는 지역변수를 사용하면 외부 Aninal 함수에서 a를 사용못하니, 스프링에서 관리를 해줌 패지지 스캔 : 필요한 것들을 메모리 로드 IoC 싱글톤 - 스프링 컨테이너에게 모든 객체 변수를 관리 .. 2020. 9. 7. 스프링부트 강좌 with JPA 5강 - ORM이란 무엇인가요? https://www.youtube.com/watch?v=4CRpndN3tP0&list=PL93mKxaRDidG_OIfRQ4nztPQ13y74lCYg&index=5 JPA는 ORM 기술이다. ORM (Object Relational Mapping) - 오브젝트를 데이터베이스에 연결하는 방법론이다. - 모델링 의미 : 추상적인 개념을 현실화 - JAVA DATA와 데이터베이스의 DATA는 형식이 다름 - 원래는 1번이 생성되고 2번이 생성됨 하지만 ORM은 오브젝트를 통한 데이터 매핑이다. - ORM이란? 클래스를 만들어 실행하면 데이터베이스에 테이블이 자동생성되는 기법 JPA는 반복적인 CRUD 작업을 생략하게 해준다. - JPA 함수하나로 제공한다. : 세션오픈 -> 쿼리전송 -> DATA 제공 -> .. 2020. 9. 7. 스프링부트 강좌 with JPA 4강 - JPA란 무엇인가요? JPA는 JAVA Persistence API 이다. - DBMS를 활용한 영구히 기록할 수 있는 환경 - JAVA 프로그램밍을 할때 영구적으로 DATA를 저정하기 위해 필요한 인터페이스가 JPA 이다. - API : Application Programing Interface - 프로토콜 vs 인터페이스 차이 약속 약속 3명 (A,B,C) 권리가 동등 상의하지 않음 상하관계가 존재하는 약속 ex) WWW(인터넷) 프로토콜 2020. 9. 7. 스프링부트 with JPA 블로그 2강 - 의존성 설정 - NEW -> Spring Starter Project 1. Spring Boot DevTools 클릭 https://docs.spring.io/spring-boot/docs/1.5.16.RELEASE/reference/html/using-boot-devtools.html 20. Developer tools Applications that use spring-boot-devtools will automatically restart whenever files on the classpath change. This can be a useful feature when working in an IDE as it gives a very fast feedback loop for code changes. By def.. 2020. 9. 7. 스프링부트 with JPA 블로그 1강 - 환경세팅 1. Oracle JDK 1.8 설치 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html Java SE Development Kit 8 - Downloads Java SE Development Kit 8 Downloads Thank you for downloading this release of the Java™ Platform, Standard Edition Development Kit (JDK™). The JDK is a development environment for building applications, applets, and components using the Java programming la www.ora.. 2020. 9. 6. 스프링부트 동작 구조 (9) 응답 html파일을 응답할지 Data를 응답할지 결정해야 하는데 html 파일을 응답하게 되면 ViewResolver가 관여하게 된다. 하지만 Data를 응답하게 되면 MessageConverter가 작동하게 되는데 메시지를 컨버팅할 때 기본전략은 json이다. 1. 톰캣 실행시 (web.xml 구동) 2,3,4번 미리 사전작업을 구동한다. (ex. DB를 띄운다) 5. 사용자가 Request를 요청한다. 6. DispatcherServlet (web.xml 일이 많아서 대신 함) -> 7,8 번 수행 (응답은 Data or HTML 선택) 2020. 9. 6. 스프링부트 정적 컨텐츠 스프링 웹 개발 기초 1) 정적 컨텐츠 2) MVC와 템플릿 엔진 3) API 2020. 9. 5. 스프링부트 View 환경설정 Welcome Page 만들기 src -> main -> resources -> static -> index.html 파일 생성 Hello hello Run 재시작 스프링 부트가 제공하는 Welcome Page 기능 - static/index.html 을 올려두면 Welcome page 기능을 제공한다. (https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-bootfeatures.html#boot-features-spring-mvc-welcome-page) ## 모르는 부분은 검색하는 능력을 길러야 함. - spring.io -> Learn -> Reference -> Document -> Spring Boot Featu.. 2020. 9. 5. 스프링부트 라이브러리 살펴보기 Gradle or Maven 은 의존관계가 있는 라이브러리를 함께 다운로드 한다. External Libraries - starter-web 도 다른 라이브러리와 의존관계가 필요해서 자동으로 다운로드 해준다. 예전에는 WAS 직접설치 후, 자바코드를 밀어 넣는 방식이였음. 현재는 라이브러리에서 WAS를 가지고 있음 (Embeded) - 실행만 해도 웹서버가 동작 (요즘엔 톰캣을 따로 설치 안함) 스프링 부트 라이브러리 1) spring-boot-starter-web - spring-boot-starter-tomcat: 톰캣 (웹서버) - spring-webmvc: 스프링 웹 MVC 2) spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View) - spring-boot-sta.. 2020. 9. 5. 스프링부트 프로젝트 생성 프로젝트 생성 라이브러리 살펴보기 View 환경 설정 빌드하고 실행하기 사전 준비물 - Java 11 설치 (호환성 좋음) - IDE : InteliJ (편리함) 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 https://start.spring.io - 요즘은 Gradle 사용 (라이브러리 관리툴) - Spring Boot : 2.3.1 (정식버전) - Group : 보통은 기업 도메인명 (hello) - Artifact : hello-spring (결과물) - Dependencies : spring web 선택 / thymeleaf 선택 - Generating 클릭 - 다운로드 받고 압축 풀고, IntelliJ 로 Open - build.gradle 오픈 - Open ad Project .. 2020. 9. 5. 이전 1 다음 반응형