implementation 'org.springframework.boot:spring-boot-devtools'
Test바로 만들기
- ctrl + shift = T
- junit4 써서 하는게 나을듯
Test에서 사용할 TDD미리 정의하기
- 파일 -> 설정 -> 에디터 -> 라이브템플릿
- 아래 코드 적용후 변경 클릭 -> 적용할 위치 설정하기
@Test
public void $NAME$() throws Exception {
//given
$END$
//when
//then
}
-> given이 주어졌을 때
-> when을 하면
-> then이 된다!!
extract에서 바로 변수 뽑아오기 -> 결과 적으면 알아서 변수 만들어주기
- ctrl + alt + v
쿼리 확인하기 팁
logging.level:
org.hibernate.type: trace
쿼리에서 보낸값을 볼 수 있음
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.0'
@Autowired 대체하기
- @RequiredArgsConstructor을 맨위에 선언
- private final로 주입받을 필드 선언
이 @RequiredArgsConstructor을 사용해서 기본적으로 injection에서 final로 선언한 것들을 생성자로 생성해 준다.
Test환경 DB나누기
스프링 부트는 테스트에 사용되는 DB를 따로 구성할 수가 있다.
테스트 쪽에 resources/yml파일을 생성해 주고
spring:
# datasource:
# url: jdbc:h2:mem:test
# username: sa
# password:
# driver-class-name: org.h2.Driver
# jpa:
# hibernate:
# ddl-auto: create
# properties:
# hibernate:
# # show_sql: true
# format_sql: true
logging.level:
org.hibernate.SQL: debug
org.hibernate.type: trace
이런식으로 만들어준다.
스프링부트는 기본적으로 테스트 내에서 memory모드의 testDB를 사용하기 때문에 주석해주어도 동일하게 동작한다.
이렇게 하면 본래 코드가 있는 곳과는 다르게 Test전용 DB를 구성해서 사용할 수 있다.
thymeleaf ?문법
더이상 아래에 데이터가 없으면 진행 안해주도록 해준다.
한꺼번에 대문자 바꾸기
- ctrl + shift + U
여러개 선택하기
- alt + shift + a 하고 마우스 클릭하기
- smart선택 : ctrl누른 상태로 움직인다.
setter는 애지간하면 쓰지말기
어디서 뭐가 변경되는지 역추적이 어렵다.
차라리 Entity내에 의미있는 메소드를 넣어둬서 이를 통해 역추적이 가능하도록 설계하자!
같은 리포지토리를 2개로 나눠서 해볼까?
바로 JPA로 하는방법이랑 쿼리가 복잡하게 되는거 두개로 나눠서 해보기!!
for문 자동생성
iter 치고 tab
일대다 join에서는 페이징 하지 말자~(컬렉션을 페치조인하면 페이징 못한다는거임)
fetch join관련 문제 발생. jpa study 16참조하기ㅋ
Spring Data JPA에서 쿼리 메소드 만들기
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation
링크 ㄱㄱ
자동완성
ctrl + shift + enter
어지간한것들은 다 자동완성해줌ㄷㄷ
'기타' 카테고리의 다른 글
협업 전략 (0) | 2022.12.08 |
---|---|
Git - Github decktop을 통해 협업하기!! (0) | 2022.06.12 |