오늘은 8강 9강을 수강해보았다.
Lombok에 관련된 강의였다.
*Person.java
package com.fastcampus.javaallinone.project3.mycontact.domain;
import lombok.*;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.time.LocalDate;
@Entity
@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
@Data
public class Person {
@Id
@GeneratedValue
private Long id;
@NonNull
private String name;
@NonNull
private int age;
private String hobby;
@NonNull
private String bloodType;
private String address;
private LocalDate birthday;
private String job;
@ToString.Exclude
private String phoneNumber;
}
*PersonRepositoryTest.java
package com.fastcampus.javaallinone.project3.mycontact.repository;
import com.fastcampus.javaallinone.project3.mycontact.domain.Person;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest
class PersonRepositoryTest {
@Autowired
private PersonRepository personRepository;
@Test
void crud(){
Person person = new Person();
person.setName("martin");
person.setAge(10);
person.setBloodType("A");
personRepository.save(person);
System.out.println(personRepository.findAll());
List<Person> people = personRepository.findAll();
assertThat(people.size()).isEqualTo(1);
assertThat(people.get(0).getName()).isEqualTo("martin");
assertThat(people.get(0).getAge()).isEqualTo(10);
assertThat(people.get(0).getBloodType()).isEqualTo("A");
}
@Test
void hashCodeAndEquals(){
Person person1 = new Person("martin", 10, "A");
Person person2 = new Person("martin", 10, "A");
System.out.println(person1.equals(person2));
System.out.println(person1.hashCode());
System.out.println(person2.hashCode());
Map<Person, Integer> map = new HashMap<>();
map.put(person1, person1.getAge());
System.out.println(map);
System.out.println(map.get(person2));
}
}
컴파일오류가 계속 나서 이것저것 만져보다가 아래 사이트에서 install 하니 해결되었다.
plugins.jetbrains.com/plugin/6317-lombok
Lombok - Plugins | JetBrains
IntelliJ Lombok plugin.
plugins.jetbrains.com
<추가공부>
Lombok이란?
롬복(lombok)이란 Java 기반에서 기계적으로 작성하는 VO, DTO, Entity 관련 작업을 보다 쉽게 하게 해주는 도구이다.
- Getter, Setter, ToString, hashCode 관련 메소드 자동 생성 가능
- Spring(SpringSTS) 프로젝트에서 사용할 경우 JPA 환경과 함께 일관화 되고 가독성이 좋은 애플리케이션을 작성 가능
- 단점은 협업 모든 인원이 lombok을 설치해야 한다는 것, 추가 어노테이션 사용할 경우 소스코드 분석이 난해해지는 것
- 서비스 초기 구축 단계에선 테이블 설계가 빈번하게 변경되는데, 이때 롬복의 어노테이션들은 코드 변경량을 최소화시켜 주기 때문에 적극적으로 사용한다.
출처: blog.naver.com/eunsoo8606/222023188344
패스트캠퍼스 강의: https://bit.ly/3ilMbIO
Java 웹 개발 마스터 올인원 패키지 Online. | 패스트캠퍼스
자바 기초문법부터 프로젝트 실습까지 Java 문법부터 스프링/스프링부트, 트렌디한 기술인 JPA까지 모두 배우는 온라인 강의입니다.
www.fastcampus.co.kr
'언어공부 > JAVA&SPRING' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 30회차 미션 (0) | 2020.09.08 |
---|---|
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 29회차 미션 (0) | 2020.09.07 |
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 27회차 미션 (0) | 2020.09.05 |
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 26회차 미션 (0) | 2020.09.04 |
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 25회차 미션 (0) | 2020.09.03 |
댓글