목록2024/03/04 (4)
미소를뿌리는감자의 코딩
@NoArgsConstructor 명시적으로 생성자를 선언하지 않으면 기본 생성자를 자동으로 추가한다. 하지만 하나 이상의 생성자를 명시적으로 선언한 경우 기본 생성자는 자동으로 생성되지 않음. 이때, 해당 annotation 사용 -> 기본 생성자 명시적으로 생성해준다. + JPA를 사용할 때, entity class는 기본 생성자를 가져야 함. *JPA: ORM의 일종으로 DB를 객체 지향적으로 사용할 수 있게 해줌. *entity class: DB의 table에 해당하는 data. table의 column에 해당하는 데이터들을 가지고 있음. JPA의 entity가 기본 생성자를 가져야 하는 이유: 이에 대해 알아보기 위해 우선 Reflection에 대해서 먼저 이해해 보자. Reflection: 프..
Memo saveMemo = memoRepository.save(memo); .save에 대한 코드를 적지 않아도 spring내에서 이에 대한 코드를 이미 가지고 있었다. 이를 확인하기 위해서 클릭 해보니, CrudRepository.class로 이동하였다. 요로케 구성되어 있음을 확인할 수 있었다. save. 를 클릭해서 더 들어가면 SimpleJpaRepository.class가 나오게 된다. 이렇게 작성되어 있었으며, 이 말고도 많은 class들이 정의되어 있었다. 만약 코드를 작성하면서 내가 구현하고자 하는 것이 이미 내부적으로 구현되어 있는지 확인하고 싶다면, memoRepository. 처럼 .을 찍게 되면 가능한 것들을 확인 가능하다.
파일을 구성할 때, controller, service, repository로 구분하여 만든다. 이를 통해서, 역할을 구분하여 폴더를 만들어, 수정에 용이하게 하기 위함이다. - controller : 신호를 주고 받는 역할 - service : main 흐름 결정 - repository : DB와 관련된 부분 - lombok은 주로 반복절으로 작성해야 하는 코드 ( getter/setter/toString()) 과 같은 것들을 annotation을 통해 자동으로 생성해 주는 라이브러리 이다. - lombok을 사용하기 위해서는 build.gradle에 lombok 라이브러리를 추가하면 된다. 1. Entity DB 테이블에 해당하는 데이터를 Java 객체로 표현한 것. @Entity annotation..
이번 주는 spring을 본격적으로 시작했다. 강의를 들으면서 이것저것 찾다보니 듣는 속도가 조금 느렸다. 처음에, 강의를 듣는 속도 vs. 잘 이해하며 듣기 사이에서 많은 고민을 했다. 많은 동기들이 빠르게 강의 수강을 완료하고 다음 강의로 넘어가는데, 나도 그래야 하는거 아닌가 라는 생각이 들기도 하였다. 하지만, 항해가 전부가 아니고, 항해가 끝난 뒤에도 공부를 이어나갈 것이기 때문에, spring에 대한 궁금증으로 나가가야겠다고 생각했다. 사실 이 때문에 스트레스를 좀 받았는데, 공부는 즐기면서 하는 것이 내 목표이기 때문에 의식적으로 즐기려고 노력할 것이다. 뭔가 하루치 적당량이 정해졌으면 좋겠는 느낌이다. 끝이 없는 공부를 하고, 많이 공부를 해도 부족하게한 것 같은 느낌이라, 성취감이 크게 ..