SpringBoot
Spring-data-JPA(1) [엔티티] Entity
Spring-data-JPA(1) [엔티티] Entity
2022.01.06@Entity JPA가 괸리하는 엔티티라는 어노테이션 기본 생성자가 필수이다. (파라미터가 없는 protected 생성자 ) final 클래스, enum, interface 사용 불가 저장할 필드에 final 사용 X 속성 name --> JPA에서 사용할 엔티티의 이름을 설정한다. default 값은 클래스의 이름 그대로 @Entity // entity로 할 것에 붙여줍니다. public class Member { @Id @GeneratedValue private Long id; } @Column 컬럼 매핑 속성 name: 필드와 매핑할 테이블의 컬럼 이름 insertable, updatable: 등록, 변경 가능 여부 nullable: null값 허용을 결정 unique: 유니크한 제약조건을 건다. ..
Spring-data-JPA(0) JPA란??
Spring-data-JPA(0) JPA란??
2022.01.06▶ JPA란?? Java Persistence API: 자바 진영의 ORM 기술 표준 Object-relational mapping(객체 관계 매핑) - 객체는 객체대로 설계 - 관계형 데이터베이스는 관계형 데이터베이스대로 설계 - ORM 프레임워크가 중간에서 매핑 - 대중적인 언어에는 대부분 ORM 기술이 존재 ▶ JPA를 사용하는 이유 SQL 중심적인 개발에서 객체 중심으로 개발이 가능하여 생산성, 유지보수, 패러다임의 불일치 해결, 성능 등등 많은 이점을 얻을 수 있습니다. 영속성: 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미합니다. DB에 저장되는 entity가 영속성 컨텍스트에 포함된다면 아래와 같은 이점을 얻을 수 있다. 1. 1차 캐시 -> 영속성 컨텍스..
Spring Lombok 어노테이션 사용
Spring Lombok 어노테이션 사용
2022.01.03프로젝트 생성 1. File -> New ->Project 2. Spring Initailizr -> Next 3. 설정 변경 4. Developer Tools -> Lombok 체크 5. 프로젝트 생성 위치 확인 후 생성 6. Test에서 예시를 작성할 예정이므로 build.gradle에 추가해줍시다. testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' Lombok이란? ▶ 어노테이션 기반으로 Construct ToString Getter 등등을 자동적으로 생성해주는 라이브러리입니다. 제가 자주 사용하는 어노테이션들을 알아보겠습니다. Lombok을 사용한 코드와 사용하지 않은 코드를 보여..
SpringBoot는 싱글톤인데 어떻게 다중 요청을 처리할까??
SpringBoot는 싱글톤인데 어떻게 다중 요청을 처리할까??
2021.12.31SpringBoot를 학습한 지 얼마 되지 않았을 때 생긴 궁금점이었습니다. Spring은 Bean 객체를 싱글톤으로 관리하는데 어떻게 다중 요청을 처리하는지에 대하여 궁금증이 생겼습니다. Thread에 관한 지식이 있었다면 쉽게 해결 가능했습니다. Thread부터 하나씩 알아보겠습니다. 1. Thread란? ▶ 프로세스(process) 내에서 실제로 작업을 수행하는 주체를 의미합니다. 여러 개의 Thread를 가지는 프로세스를 멀티 스레드 프로세스라고 합니다. 이해를 돕기 위해 코드로 보겠습니다. class Example extends Thread { int num; public Example(int num) { this.num = num; } public void run() { System.out.p..
spring 컨테이너와 bean 개념
spring 컨테이너와 bean 개념
2021.12.301. Spring Container란? ▶ Spring Container는 java 객체의 life cycle를 관리하고, 생성된 객체들에게 추가적인 기능을 제공합니다. Spring Container에서 관리하는 객체를 Bean라고 부릅니다. bean에는 IoC, DI가 적용됩니다. 1-1. BeanFactory와 ApplicationContext ▶ BeanFactory와 ApplicationContext 모두 Spring Container입니다. 아래와 같이 구성됩니다. ▶ BeanFactory는 bean을 생성, 등록, 조회 등등 빈을 관리하는 역할을 합니다. BeanFactory.getBean(빈 이름, 반환형)을 통해 인스턴스화 할 수 있습니다. @SpringBootTest public clas..
Springboot 프로젝트 생성
Springboot 프로젝트 생성
2021.12.30Intellij를 통해 springboot 프로젝트를 바로 생성해보겠습니다. 아래의 이미지 순서대로 따라와주시면 됩니다. 1. File -> new -> Project... 2. SpringInitailizr -> Next 3. group, Artifact 본인이 원하는대로 작성해줍니다. java 11을 활용한 gradle 프로젝트로 만듭니다. 4. Web -> spring web 체크 5. 프로젝트 위치를 설정해줍니다. 6. 프로젝트 생성하는데 시간이 걸릴 수 있으니 기다려주시고 아래와 같이 뜨면 프로젝트가 생성된 것입니다. 7. 프로젝트를 실행해보겠습니다. ( 둘중에 하나를 실행시키면 됩니다. ) 8. spring 프로젝트의 기본 port는 8080이므로 localhost:8080을 주소창에 입력해고..