본문 바로가기

전체 글187

41. 지역 정보 테스트 코드 SettingsController 리팩토링 요청 url을 상수로 변환 하였다. package me.weekbelt.studyolle.settings; @RequiredArgsConstructor @Controller @RequestMapping("/settings") public class SettingsController { // 추가 static final String ROOT = "/"; static final String SETTINGS = "settings"; static final String PROFILE = "/profile"; static final String PASSWORD = "/password"; static final String NOTIFICATIONS = "/notificat.. 2020. 4. 23.
40. 지역 정보 추가 삭제 시작하기전에 @CurrentUser인터페이스를 @CurrentAccount로 리팩토링 Account엔티티와 Zone의 연관관계 맵핑 package me.weekbelt.studyolle.domain; @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @EqualsAndHashCode(of = "id") @Entity public class Account { // ........ @ManyToMany private Set zones = new HashSet(); // ........ } Zone엔티티에 도시 정보를 지정된 문자열 형식으로 보여주기 위해 toString() 오버라이딩 package me.weekbelt.studyolle.doma.. 2020. 4. 23.
39. 지역 도메인 지역(zone)도 역시 밸류가 아닌 엔티티! Zone City (영문 도시 이름) LocalNameOfCity (한국어 도시 이름) Province (주 이름, nullable) Account와 Zone의 객체 지향적인 관계 Account와 Zone의 관계형 관계 지역 데이터 초기화 위키 피디아 데이터 참조 https://en.wikipedia.org/wiki/List_of_cities_in_South_Korea 데이터를 CVS로 옮기고 초기화 하기 List of cities in South Korea - Wikipedia This article is about cities in the country generally. For places that are administratively designated.. 2020. 4. 23.
38. 관심 주제 테스트 먼저 기존의코드를 리팩토링을 해보겠다. Account.java 리팩토링 package me.weekbelt.studyolle.domain; @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @EqualsAndHashCode(of = "id") @Entity public class Account { // ......... @ManyToMany private Set tags = new HashSet(); // ......... } AccountService.java 리팩토링 package me.weekbelt.studyolle.account; @Transactional @RequiredArgsConstructor @Service public c.. 2020. 4. 23.