10.[블로그 프로젝트] 부트스트랩으로 메인화면 만들기
웹 UI를 구현할 때, 굳이 html, css를 모두 구현할 필요가 없다.Bootstrap이나 Materialize를 통해서 쉽게 구현할 수 있다. 우리는 w3school에서 bootstrap4의 collapsing the navigation bar의 코드를 복사한다. 이렇게 프로젝트 구조를 만들어서 index.jsp에 우리가 아까 복사한 내용을 덮어쓰운
웹 UI를 구현할 때, 굳이 html, css를 모두 구현할 필요가 없다.Bootstrap이나 Materialize를 통해서 쉽게 구현할 수 있다. 우리는 w3school에서 bootstrap4의 collapsing the navigation bar의 코드를 복사한다. 이렇게 프로젝트 구조를 만들어서 index.jsp에 우리가 아까 복사한 내용을 덮어쓰운
update1. save 메소드를 활용한 update123456789101112131415@PutMapping("/dummy/user/{id}")public User updateUser(@PathVariable int id, @RequestBody User requestUser){ System.out.pri
영속성 컨텍스트?영속성 컨텍스트는 JPA안에 존재하는 개념인데,우리가 만든 컨트롤러에서 save메소드를 호출하게 되면, 영속성 컨텍스트에 1차 캐시라는 것이 생성되고,1차 캐시에 우리가 save메소드의 인자로 보낸 객체가 쌓인다.이 과정을 영속화 되었다고 한다. 이렇게 영속화된 객체를 실제 DB에 저장하는 행위를 flush라고 한다.근데 flush이후에 1
select1. 하나의 데이터 select하기!123456789101112131415161718192021@GetMapping("/dummy/user/{id}")public User detail(@PathVariable int id){ //1. User user = userRepository.findB
JpaRepository이제 DB에 insert하기 위해 프로그램을 작성해볼 것이다!먼저 com.cos.blog 패키지 하위에 repository라는 폴더를 만들자.그리고 그 안에 UserRepository 인터페이스를 만들자.이 인터페이스는 DB 저장소에 update할 메소드를 제공한다. 12345678910package com.cos.blog.repos
application.yml의 JPA일단 application.yml파일에 있는 jpa 관련 내용을 해석해보자. 12345678910jpa: open-in-view: true hibernate: naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategy
Maven자 만약에 우리가 프로젝트를 할 때 어떤 라이브러리를 사용한다고 하자.우리에게는 3가지 시나리오가 있다. 라이브러리를 다운받고, 각 프로젝트의 lib 폴더에 복사하기. 프로젝트 만들 때마다 복사해야 된다… 라이브러리를 외부에 두고 프로젝트들이 가져다 쓰기 하지만 배포할 때 라이브러리가 포함되지 않아서 힘들다.. 중앙 저장소에 라이브러리들을
HTTP는 어떻게 데이터를 전달할까? GET get은 URI의 쿼리 파라미터로 데이터를 전달한다.(? 뒤의 쿼리를 의미한다.)코드로 받아오는 방법은 두가지가 있다. @RequestParam : 메소드에 해당 어노테이션을 붙인 변수를 만들어서 받아온다! 클래스를 만들어서 가져오기 : 메소드에 해당 클래스 객체를 넣어주면 알아서 매핑되서 받아온다.이때 변수
HTML을 체험하기 위해 필요한 POSTMAN 추후 알게 되겠지만, POSTMAN이라는 프로그램을 다운받자.(브라우저로 테스트하면 get요청밖에 확인가능하기 때문이다.)일단은 웹브라우저로 해보자. @RestController 와 @Controller@RestController는 사용자가 요청하면 데이터를 응답하는 어노테이션이다.@Controller는 사
HTTPHTTP_더_알아보기HTTP는 문서를 전송하는 stateless 통신 프로토콜이다!종류는 다음과 같다!GET : 데이터 줘!POST : 데이터 추가해줘!PUT : 데이터 수정해줘!DELETE : 데이터 삭제해줘! 그렇다면 ‘어떤’ 데이터를 요청하거나 보낼지를 알려줄까?이는 쿼리 파라미터(URI의 ? 부분)를 쓰거나,MIME type으로 알려줄 수 있
이번엔 스프링부트를 통해 블로그를 한번 만들어보자!유튜버 데어프로그래밍의 강좌를 보며 제작한다!!! 먼저 Oracle JDK SE와 MySQL을 설치해주자.JDK는 홈페이지에서 다운받고, MySQL은 맥의 homebrew로 설치가 가능하다!MySQL 설치 관련 링크 그리고 이클립스에서 스프링을 사용할 수 있게해주는 STS 툴 이라는 게 있다.나는 인텔리제이
스프링 부트 동작원리 톰캣 필터 권한, 인증, 인코딩… 디스패처 요청된 주소에 맞는 컨트롤러를 호출 <얘네는 요청때마다 메모리에 로딩><요청이 올 때까지 대기>재사용하는 게 아니라 새 쓰레드를 사용함4. 컨트롤러 - 요청에 포함된 데이터 받음, 다른 서비스 호출..5. 서비스6. JPA 레포지토리7. 영속성 컨텍스트
1. 스프링이란? by 데어 프로그래밍스프링은 프레임워크이다.스프링은 오픈소스이다.스프링은 IoC 컨테이너를 가진다.스프링은 DI 를 지원한다.스프링은 엄청나게 많은 필터를 가지고 있다.스프링은 엄청나게 많은 어노테이션을 가지고 있다. (리플렉션, 컴파일체킹)스프링은 MessageConverter를 가지고 있다. 기본값은 현재 Json이다.스프링은 Buff
학습목표스프링부트로 GET API의 path variable, query parameter를 처리한다. 들어가기 전에… resource 폴더의 application.properties는 포트설정을 할 수 있다. (server.port=9090)controller 패키지를 만들고 그 안에서 GetApiController 클래스를 만들어서 진행