본문 바로가기

[백엔드온라인TIL] @RequiredArgsConstructor 를 사용할때 고려할점 (49일차) 스프링부트를 사용하여 개발할때 우리는 의존성 주입을 위해 @RequiredArgsConstructor를 사용합니다. 이때 굉장히 반드시 알고 가야될 개념이 있습니다. 바로 final키워드를 사용한 인스턴스들만 Bean 객체로 등록을 한다는 것 입니다. final 키워드를 사용하지 않고 사용하면 NullPointerException 이 발생합니다. (이점을 반드시 알아두고 기억하시길 바라고 다음 내용으로 넘어가겠습니다) 추가로 더 알아보면 @RequiredArgsConstructor를 왜 사용하는 것일까요???? 우린 의존성 주입(Dependency Injection) 을 사용해서 Bean 객체로 등록된 아이들에게 제어의 역전(Inversion of control) 을 수행하게 됩니다. 의존성 주입에는 크.. 더보기
[백엔드온라인TIL] JPA 학습 체크리스트(JPA vs Hibernate) (48일차) 이번 프로젝트에서 Spring boot + JPA + Gradle 을 적용하면서 헷갈렸던 부분, 알게 된 부분에 대해서 적기 위해 작성했습니다. JPA 강의를 듣고 적용하는 과정에서 Maven말고 Gradle로 프로젝트를 진행했는데, 다른 점이 있다보니 조금 헤맸습니다. 👀 의문점 발생. JPA 강의에서 persistence.xml을 작성하고 Entity Manager를 생성한다음 JPA 작성을 하는데, Gradle은 xml을 쓰지 않는 것을 장점으로 알고있다. (pom.xml대신 build.gradle를 작성한다) Gradle로 작성할 때 application.properties에 JPA 속성을 작성했기 때문에 persistence.xml을 작성하면 중복 작성이 된다. Gradle + JPA을 검색해보.. 더보기
[백엔드온라인TIL] JPA 학습 체크리스트 (47일차) 영속성(Persistence) 1. 데이터를 생성한 프로그램이 종료되더라도 사리지지 않는 데이터의 특성을 말한다. 2. 영속성을 갖지 않는 데이터는 단지 메모리에서만 존재하기 때문에 프로그램이 종료되면 모두 잃어버리게 된다. 때문에 파일 시스템, 관계형 데이터베이스 혹은 객체 데이터베이스 등을 활용하여 데이터를 영구적으로 저장하여 영속성을 부여한다. 1. JDBC 와 Persistence Framework 의 차이점 SQL Mapper와 ORM Persistence Framework는 SQL Mapper 와 ORM으로 나뉜다. 1. ORM은 데이터베이스 객체를 자바 객체로 매핑함으로써 객체 간의 관계를 바탕으로 SQL을 자동으로 생성해주지만, SQL Mapper는 SQL을 명시해줘야 한다. 2. ORM은.. 더보기