본문 바로가기

springboot8

YSit [5] - UserRepository, Service 개발하기 나는 계층형 구조를 이용해 프로젝트를 진행할 생각이었다. Repository는 JPA를 직접 사용하게 되는 계층으로, Entity Manager를 사용한다. Service는 비즈니스 로직을 작성할 공간이고 트랜잭션을 처리할 부분이기도 하다. 먼저 JPA에서 Repository임을 알 수 있게, 컴포넌트 스캔으로 스프링빈으로 등록하도록 @Repository 어노테이션을 선언해준다. 자바 코드를 직접 입력해 컴포넌트 스캔을 할 수 있지만 롬복을 이용하면 어노테이션 하나로 코드를 간추릴 수 있다. 그리고 엔티티 매니저를 선언하고 @PersistenceContext로 주입받는다. 제일 첫번째 기능은 당연하게도 회원정보 저장이기 때문에 세이브 메서드를 만들어준 후 유저 객체를 파라미터로 받고 받은 유저 엔티티를 .. 2022. 12. 24.
YSit [4] - 엔티티 개발하기 도메인을 설계했던 내용을 토대로 엔티티 개발을 시작했다. 도메인 패키지를 생성하고 먼저 User 클래스를 생성했다. JPA에게 엔티티임을 알려주기 위해 Entity 어노테이션을 넣고 DB에는 'user'라는 예약어가 있어서 혹시 모를 상황에 대비해 @Table 어노테이션으로 User가 아닌 Users로 테이블을 생성했다. 보통 getter와 setter를 둘다 사용하는 것 같던데 강의에서는 setter 사용을 삼가라는 내용이 있었다. 이유는 이후에 다른 사람이 코드를 보면 어떤 지점에서 데이터 변경이 일어나는지 쉽게 알 수가 없어서 그렇다는 내용이었는데 생각해보니 맞는 말 같아서 이후에 setter 사용을 하지 않기 위해 아예 setter 어노테이션을 사용하지 않고 getter 어노테이션만 세팅해주었다... 2022. 12. 24.