일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- jwt메서드
- JPA
- jpa에러
- JoinColumn
- 스프링 부트 공식 문서
- 스프링 부트 기능
- 인텔리제이
- ERD 작성
- github
- Spring Spring boot 차이
- REST란
- json gson 차이
- queryDSL
- 빈생성안됨
- 최종 프로젝트
- uncheck Exception
- Unsatisfied dependency
- Filter
- Q 클래스
- spring서버
- 스프링부트오류
- Error creating bean with name
- json
- 1차캐시
- jpa회원가입
- @IdClass
- 복합키
- REST API 규칙
- git
- JPA주의사항
- Today
- Total
목록내배캠 주요 학습 (147)
Everyday Dev System
20230614 6:00pm - 20230615 4:00am 20230615 9:00am - 20230615 1:00pm # 문제점 : Error creating bean with name 'postController' defined in file [D:\camp\springBasic\week1\myBlog\build\classes\java\main\com\sparta\myblog\controller\PostController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'postService' defined in file [D:\camp\springBasic\we..
1. 1차 캐시 2023.06.14 - [내일배움캠프 공부/Spring 입문] - 영속성 컨텍스트 활용 - persist() , find() , remove() 영속성 컨텍스트 활용 - persist() , find() , remove() 1. 영속성 컨텍스트란? Entity 객체를 효율적으로 쉽게 관리하기 위해 만들어진 공간이다. EntityManager를 통해서 영속성 컨텍스트에 접근을 한다. em.persist(memo); -> 컨텍스트에 저장하고 싶은 Entity Clas cdev.tistory.com 2. 쓰기 지연 저장소 (ActionQueue) @Test @DisplayName("쓰기 지연 저장소 확인") void test6() { EntityTransaction et = em.getTran..
1. 영속성 컨텍스트란? Entity 객체를 효율적으로 쉽게 관리하기 위해 만들어진 공간이다. EntityManager를 통해서 영속성 컨텍스트에 접근을 한다. em.persist(memo); -> 컨텍스트에 저장하고 싶은 Entity Class 객체를 저장함. 아래에서 실제로 확인하기 더보기 1. [test] - [java] - PersistenceTest.java 생성 2. 30번째 줄에 디버깅할 빨강 표시하고, 해당 메서드 Debug하기. import com.sparta.entity.Memo; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import jakarta.persistenc..
EntityManagerFactory는 DB 하나당 하나만 생성된다. PK는 Entity를 구분하기 위한 식별자로, 영속성 컨텍스트에서 PK로 Entity를 식별한다. import com.sparta.entity.Memo; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.EntityTransaction; import jakarta.persistence.Persistence; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.ju..
1. ORM이란? - 객체와 DB를 맵핑해주는 도구. 2. JPA란? - 자바, ORM 기술의 대표적인 표준 명세 - ORM 기술 중에 가장 표준적인 기술 - JPA를 실제로 구현한 Framework 중 사실상 표준이 Hibernate이다. 스프링 부트에서 기본적으로 Hibernate 구현체를 사용중. - JPA는 애플리케이션 서버와 JDBC 사이에서 동작이 된다. 1) @Entity는 JPA가 관리할 수 잇는 Entity Class로 지정하는 어노테이션 @Entity(name = "memo") JPA가 Entity Class를 인스턴스화 할 때 기본 생성자를 실행하므로 클래스 내에 기본 생성자 반드시 기재해야 함. 아래는 오버로딩된 생성자가 없으므로 기본 생성자는 기본으로 생성됨. 2) @Table은 ..
1. @Service 란? - Controller와 Repository 사이에 있는 계층으로 비즈니스 로직 부분을 포함하는 Class입니다. Service 계층 역할을 하는 Bean Class -> @Service @Service에 @Component가 달려 있으므로, 스프링 내부에서 자동으로 Bean 등록이 가능하다. @Service public class MemoService { -- 중략 -- } 2. @Repository란? - DB에 접근하여 저장 및 삭제,수정 등을 수행하는 Class입니다. @Repository public class MemoRepository { // DB랑 작업하는데에 코드 변경이 필요한 경우엔 REPOSITORY -- 중략 -- } ** DispatcherServlet이..
Data를 전달해오는 방식이 변경된 경우에는 Controller DB랑 작업하는데에 코드 변경이 필요한 경우엔 Repository 비즈니스 로직 수정이 필요한 경우엔 Service IoC는 설계 원칙, DI는 디자인 패턴이다. 1. 일반 클래스를 Bean 개체로 등록하는 방법 - @Component Bean은 Spring이 관리하고 있는 객체를 의미. IoC Container는 Bean들을 모아둔 Container 이다. 위와 같은 생성자에서 외부에서 주입을 받을 때는 Bean 객체만 주입 가능. 이유는, 이를 넣어주는 역할을 하는 건 Spring이기 때문에 Bean 객체로 등록이 되어야 주입이 가능하다고 한다. 그리하여, 현재는 MemoService 타입의 Bean이 없는데 넣으라고 해서 오류가 생기는..
application.properties에 추가 spring.datasource.url=jdbc:mysql://localhost:3307/memo spring.datasource.username=root spring.datasource.password=1234 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver build.gradle에 JDBC 의존성과, Mysql 의존성 추가 implementation 'mysql:mysql-connector-java:8.0.28' implementation 'org.springframework.boot:spring-boot-starter-data-jdbc' package com.sparta.memo.contro..
https://github.com/Chaeyounglim/memo GitHub - Chaeyounglim/memo: It's Spring Project for practice CRUD in Memo. It's Spring Project for practice CRUD in Memo. Contribute to Chaeyounglim/memo development by creating an account on GitHub. github.com resources - static - index.html 코드 더보기 Memo 공유하고 싶은 소식을 입력해주세요. October 10, 2020 anonymous 출처 : 팀스파르타, 내일배움캠프 1. 메모장 프로젝트 설계 메모장 기능 설계 접속 하자마자 메모 전체 목..
- pathVariable 빼고 RequestParam, ModelAttribute는 어노테이션 생략 가능. 스프링에서 원시타입일 경우에는 @RequestParam가 생략, 그 외에 클래스 타입같은 경우에는 @ModelAttribute이 생략되어 있다고 자동으로 인식하고 실행시킴. 1. Path Variable 방식 - @PathVariable (required= false) 기재 가능. (값 여부에 따른 오류 발생 핸들링 가능) 서버에 보내려는 하는 데이터를 URL 경로에 추가를 할 수 있습니다. 1) 필요한 부분의 데이터인 name에 {name}으로 중괄호를 씌어서 mapping url에 기재 2) @PathVariable 라는 어노테이션을 매개 변수 앞에 기재 // [Request sample] /..