목록SpringBoot (7)
Technology-Share

# 스프링 시큐리티 테스트 코드 작성 1. 먼저 스프링 시큐리티 테스트 의존성을 build.gradle 에 추가해준다. testImplementation 'org.springframework.security:spring-security-test' implementation 'junit:junit:4.12' 2. 아래와 같은 위치에 AccountControllerTest 를 만들어준다. 3. Junit 4 설정을 위해 아래와 같이 인텔리제이 설정을 바꿔준다. 4. 아래와 같이 어노테이션을 설정해 준다. package com.gig.gongmo; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.fa..

# 스프링 시큐리티 JPA 연동하기 1. 먼저 JPA와 연동하기 위해 JPA, 데이터베이스인 h2 의 의존성을 추가한다. implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.h2database:h2' 2. 스프링 시큐리티에서 로그인할 계정정보 테이블을 만들기 위해 아래와 같은 트리구조를 형성해준다. - Account 도메인 클래스 @Entity @Getter @Setter public class Account { @Id @GeneratedValue private Long id; @Column(unique = true) private String username; private String passwo..

# 스프링 시큐리티 개발환경 설정 방법 1. 인텔리제이 -> New Project의 Spring initializer 를 통해 프로젝트를 생성한다. -> 이때, Java , SDK, 프로젝트 명을 설정해준다. 2. 프로젝트의 기본 Defendency를 설정해주고, Security 를 포함시킨다. - 이때, JPA, MySQL, 등은 데이터베이스 환경이 설정 된 후에 Defendency 에 추가하자.. 3. build.gradle 에서 defendency 부분에 아래와 같은 gradle이 들어가있는지 확인한다. implementation 'org.springframework.boot:spring-boot-starter-security' 4. 프로젝트의 기본 패키지 트리를 생성한다. 이때 SecurityCo..

# 멀티모듈의 필요성 # 멀티모듈 프로젝트 생성 1. File → New Project → Gradle, Java SDK 11 을 선택하고 Next 를 누른다. 2. 프로젝트 이름과 저장 위치, 그룹 ID를 설정해준다. * GroupId 란 프로젝트를 생성하는 주체, 회사 이름을 의미한다. * AritifactId 란 프로젝트의 의미를 의미한다. 3. 모듈 생성하기 ( 프로젝트 선택 → new → Module ) 위와 같은 방법으로 모듈 생성 4. 아래와 같은 메뉴트리가 완성됩니다. ( gradle module 3개 ) 5. settings.gradle 에서 아래와 같이 rootProject.name 과 include 가 명시되어 있는지 확인합니다. rootProject.name = 'challenge-..

SpringBoot에서 DB 연동 설정 하던중 다음과 같은 오류 발생 오류 내용 º Failed to determine a suitable driver class 발생 원인 º @SpringBootApplication 선언된 SpringBoot 실행 Class가 Package Tree 최상단에 선언이 되어 있지 않아 발생 해결 º SpringBoot 실행 Class 파일을 최상단으로 변경

Author : 제이크 Date : 2020-05-30 Subject : JPA 개념 정리 # JPA 구조 JPA 를 이용하면 Java 로 작성된 클래스, 객체들과 데이터베이스 상에 테이블, 레코드들을 자동으로 관리합니다. 특정 데이터베이스의 쿼리를 작성할 필요 없이 Java 코드만으로 데이터를 꺼낼 수 있습니다. JPA는 각 데이터베이스의 쿼리를 Java 로 번역해주는 역할을 하며, 우리는 JPA 코드를 사용함으로써 데이터를 가공할 수 있습니다. # 엔티티(Entity), 엔티티 매니저(EntityManager) 엔티티 : 데이터베이스상에서 데이터로 관리하는 대상을 의미합니다. '상품', '회사', '직원' 과 같은 명사이면서 업무와 관련된 데이터를 엔티티로 규정합니다. 하나의 엔티티 타입을 생성한다라..

Author : 제이크 Date : 2020-05-30 Subject : CascadeType.Remove 와 orphanRemoval 의 차이 # 상황 @OneToMany(mappedBy = "member", cascade = CascadeType.ALL, orphanRemoval = true) private List memberFollowings = new ArrayList(); Member 테이블과, Member 를 팔로우하는 MemberFollow 테이블이 1:다 관계로 매핑 되어 있다. 위의 코드처럼 cascade = CascateType.All 이 걸려있는 경우, 우리는 저장할 때 memberFollowRepositroy.save(memberFollow) 위의 코드처럼 memberFollow ..