Category: Spring

Spring 관련 내용

Database Index

OR 조건은 인덱스 억세스, 필터 조건으로 사용할 수 없고 테이블 필터 조건으로만 사용 가능 
Between 패턴을 쓸려면 인덱스 선두 컬럼인지 , null 허용 컬럼인지 확인 하자 

0

Oracle Database 사용

ORDER BY – ASC, DESC order by 절은 제일 마지막에 수행 된다. From 절을 먼저수행 하고 Select를 수행한 다음 Order By
Where – Where 절은 From 절을 수행한 다음에 수행된다. 그래서 Select 절에 별칭을 지정했고 이를 Where절에서 사용하면 에러가 발생한다. 
nls_session_p

0

TDD

의 목표 => 작동하는 Clean Code를 만드는게 목표
TDD 원칙
자동화된 테스트가 실패한 경우만 새로운 코드를 작성한다. (대원칙) – 잘동작중인 코드를 변경하지 말라
중복을 제거한다. (대원칙) – 리팩토링
실패하는 테스트를 작성하기 전엔 코드를 작성 하지 않음 (대원칙을 지키기위한) – 테스트 코드를 먼저 작성한다.
실패하는 테스트 코드를 한번에 하나 이상 작성하지 않는다.(대원칙을 지키기위한) 
실패하는 테스트를 통과하기에 충분한 정도를 넘는 코드를 작성하지 않는다. (대원칙을 지키기위한)  – 열을 알지 말자 
TDD의 개발 발식 

0

Spring Security

WebSecurityConfigurerAdapter를 상속 받아 HttpSecurity 및 WebSecurity를 설정하고 Filter 및 Provider를 등록 한다. HttpSecurity 설정은 login page, cors, csrf 등 다양하게 할 수 있다. provider는 JWT 혹은 Username, Password 로 인증을 제공하는 역할을 한다.
Username, Password로 인증을 처리하고 싶은 경우 UsernamePasswordAuthenticationFilter를 상속받아 Custom filter를 작성한다. 그리고 처리한 데이터는 Authentication Manager로 넘겨서 인증 처리를 한다. 
인증 성공 및 실패에 대해 Handler를 등록한다. 

0

JPA 관련 application.properties

아래 URL 에서 application.properties에 들어갈 h2, datasource설정을 찾을수 있다. 

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#common-application-properties-data

hikari 는 DB 와의 Connection pool을 관리해주는 역할을 한다. 서버 실행시 H2는 schema.sql 의 쿼리를 한번 실행한다. 이를 이용해 테이블을 만들수 있다.