본문 바로가기

반응형

스프링 부트

(6)
글 등록, 글 목록 불러오기, 해당 글의 상세 페이지로 이동하기 contents/board.html 게시판 id 제목 작성자 날짜 글 등록 게시글 등록 × 제목 내용 취소 등록 WebRestController.java save 메소드로 Boards 객체를 전달받고 글 등록 구현 package com.cos.web01.controller; import java.security.Principal; import java.util.HashMap; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import or..
업데이트, 더티 체킹 더티 체킹은 Transaction 안에서 엔티티의 변경이 일어나면, 변경 내용을 자동으로 데이터베이스에 반영하는 JPA 특징이다 트랜잭션이 끝나는 시점에 최초 조회 상태와 비교해 변화가 있는 모든 엔티티 객체를 DB에 자동으로 반영해준다 JPA에서는 엔티티를 조회했을 때 조회 상태 그대로를 스냅샷으로 만들어놓는다 그리고 트랜잭션이 끝나는 시점에 이 스냅샷과 비교해 다른점이 있으면 업데이트 쿼리를 DB에 전달한다 더티 체킹으로 생성되는 업데이트 쿼리는 기본적으로 모든 필드를 업데이트시키므로, 필드가 많아질 경우 전체 필드 업데이트가 부담이 된다 @DynamicUpdate 어노테이션으로 변경 필드만 변경이 가능하다 일단 info.html에 userName을 표시해주어야하는데, 2가지 방법이 있다 이 방법은 ..
스프링 시큐리티 적용 index.html Email password Sign up Sign in Sign up × 이름 아이디 이름 취소 가입 스프링 시큐리티는 스프링에서 만들어지는 애플리케이션에 보안 기능을 담당하는 프레임워크이다 Principal - 접근 주체. 보호된 리소스에 접근하는 대상 Authentication - 인증. 접근하는 대상이 누구인지 확인하는 과정 Authorize - 인가. 리소스에 접근 권한이 있는지 확인하는 과정 권한 : 리소스에 대한 접근 제한에 대해 어떤 권한을 가지고 있는지 확인 스프링 시큐리티는 필터 기반으로, 주요 로직들은 모두 필터를 거치고 난 뒤에 디스패처서블릿을 거치고 컨트롤러에 전달된다 https://velog.io/@allen/스프링-시큐리티와-인증 build.gradle에 스프..
thymeleaf 적용 view를 위해서 build.gradle의 디펜던시에 thymeleaf, thymeleaf-layout 추가 dependencies { ... implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' } gradle은 디펜던시가 수정되면 refresh gradle project 필요 WebController.java 추가, WebRestController에 있는 건 지워주었다 package com.cos.web01.controller; import org.springframework.stereotype.Controll..
User 생성 작업 http://localhost:8080/user 주소로 userId, password, userName을 보내서 db에 생성되도록 하기 위한 작업으로 DTO 생성 UserSaveRequestDto.java package com.cos.web01.service.domain.dto; import com.cos.web01.service.domain.user.User; import lombok.Data; import lombok.NoArgsConstructor; @NoArgsConstructor @Data public class UserSaveRequestDto { private String userId; private String password; private String userName; public Us..
셋업 프로젝트 생성 mysql db 생성 application.properties 설정 # # # lombok 설치와 mysql utf-8 설정 확인 # MySQL 설정 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # DB Source URL spring.datasource.url=jdbc:mysql://localhost:3306/web01 spring.datasource.username=root spring.datasource.password=1234 # jpa 설정 spring.jpa.hibernate.ddl-auto=create spring.jpa.properties.hibernate.show_sql=true spring.jpa.proper..

반응형