spring boot
-
JPA 페이징 사용해보기spring boot 2023. 5. 10. 12:17
package com.tenco.blog.controller; import java.util.List; import java.util.Optional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort.Direction; import org.springframework.data.web.PageableDefault; import org.springframework.web.bind.annotation.G..
-
jpa 생성 및 조회 연습spring boot 2023. 5. 10. 10:03
package com.tenco.blog.repository; import org.springframework.data.jpa.repository.JpaRepository; import com.tenco.blog.model.User; //@Repository // 여기서는 생략 가능 - 이유는 JpaRepository에서 포함되어 있어 생략 가능하다. public interface UserRepository extends JpaRepository { // select, selectAll, insert, update, delete 등 } 여기서 T는 테이블 명을 말하며 ID는 PK값이 선언된 컬럼 타입을 말한다. package com.tenco.blog.controller; import org.spring..
-
테이블 생성 및 JPA 테스트spring boot 2023. 5. 9. 18:25
https://docs.jboss.org/hibernate/orm/5.0/javadocs/org/hibernate/boot/model/naming/ImplicitNamingStrategyComponentPathImpl.html ImplicitNamingStrategyComponentPathImpl (Hibernate JavaDocs) All Implemented Interfaces: Serializable, ImplicitNamingStrategy public class ImplicitNamingStrategyComponentPathImpl extends ImplicitNamingStrategyJpaCompliantImpl An ImplicitNamingStrategy implementation whic..
-
JPA 설정spring boot 2023. 5. 9. 12:46
학습 목표 1.의존성 추가 2.JPA > yml 파일에 설정 해주기 plugins { id 'java' id 'org.springframework.boot' version '2.7.10' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'com.tenco' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { // 의존성 추가 설정 start // jasper implementati..
-
spring boot JPAspring boot 2023. 5. 9. 10:35
dependencies { // 의존성 추가 설정 start // jasper implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper' // jstl implementation 'javax.servlet:jstl' implementation 'org.springframework.security:spring-security-taglibs:5.6.2' // https://mvnrepository.com/artifact/org.springframework.security/spring-security-taglibs // 의존성 추가 설정 end // implementation 'org.springframework.boot:sprin..
-
bank app 19 - (마이그레이션)spring boot 2023. 4. 21. 11:04
학습 목표 1. migration 작업 이란 2 .yml 파일 수정하기 3. my sql 설정 마이그레이션이란 데이터베이스 스키마의 변경 내역을 버전 관리하여, 변경에 대한 이력을 남기고, 데이터베이스를 이전 버전에서 최신 버전으로 옮기는 일련에 과정들을 의미합니다. 즉, 일반적으로 마이그레이션은 스키마를 변경하거나 새로운 테이블이나 컬럼을 추가하는 등에 작업을 포함하고 따라서 우리가 할 작업 H2 데이터베이스에서 MySQL 로 변경할 때 도 마이그레이션을 수행 한다고 할 수 있습니다. 이러한 경우에 테이터 스키마를 변경하거나 데이터를 이전하는 작업등이 포함 될 수 있습니다. 이전 yml 설정 기록 server: port: 8080 servlet: encoding: charset: utf-8 force:..
-
bank app 18 - (intercepter 활용)spring boot 2023. 4. 21. 10:25
학습 목표 1. AuthIntercepter 구현 클래스 만들기 2. WebMvcConfig 구현 클래스 만들기 3. 코드 수정 - 인증 처리 일괄 적용 하기 Spring boot 에서 인터셉터를 적용하는 방법 implements HandlerInterceptor 를 구현 받는 클래스 만들기 implements WebMvcConfigurer 를 구현 받는 클래스 만들기 HandlerInterceptor 는 spring boot MVC 에서 제공하는 인터셉터로 AOP 개념과는 다르게 서블릿 필터처럼 동작 합니다. 즉, 클라이언트의 요청이 컨트롤러에 도달하기 전에 인터셉터 요청/응답을 가로채어 필요한 로직을 수행항 수 있습니다. 반면, AOP(Aspect-Orented Programming)은 관점 지향 프..
-
bank app 17 - 계좌 상세보기(2)spring boot 2023. 4. 20. 12:50
a 태그를 추가 해준다. 나의 계좌 목록 어서오세요 환영합니다 계좌 번호 잔액 ${account.number} ${account.balance} 아직 생성된 계좌가 없습니다 로그인 유효성 검사 만들어주고 리턴을 detail.jsp로 지정해주자. @GetMapping("/detail/{accountId}") public String detail(@PathVariable Integer accountId) { if (session.getAttribute(Define.PRINCIPAL) == null) { throw new UnAuthorizedException("로그인 먼저 해주세요", HttpStatus.UNAUTHORIZED); } System.out.println("accountId : " + accou..