본문 바로가기
백엔드/스프링 핵심 개념

완성한 개발자 저장 프로젝트를 통해 핵심 복습

by 임지혁코딩 2023. 12. 30.

핵심 내용을 복습해보겠다. 

프로젝트 -> 클론프로젝트 -> 개발자 프로젝트에 있는 내용을 기반으로 복습을 진행하겠다. 

 

1. DI, IOC

의존성 주입. 

 

 

Controller에서, dmakerservice를 사용하겠다. 

 

원래는

당연히 이런 꼴의 생성자 모습이 되어야 한다. 

이러한 생성자의 실행이 ioc, 여기에 dmakeservice를 넣어주는것이 DI가 된다. 

모든 빈을 다 가지고 있다가, DI를 컨트롤 해주는 것이  application context.

이 application context가 진행해주기 때문에, 별도의 생성자 생성이 필요없다. 

 

2. AOP

일정 부분에서 

 

일정 point에서 저장해주고, 문제가 생기면 exception을 발생시키고, 이러한 것들을 @Transactioanl을 통해서 수행된다. 이때 특정 join point에 join해서 aop의 방식을 활용한다. 

@Transacational으로 한번에 진행했지만 , 실은 aop를 활용해 특정 join point에서 일을 하는것

 

3. data,buisness validation 

 

@NOTNULL로 달려있는 ENTITY의 제약도 DATA VALIDATION.

그 이후 REQUEST의 값을 받을때 @VALid라는 anotation을 통해 검증이 가능하다. 

 

4.Resource

직접적으로 실행하는 것은 아니다. 

 

application context에게 주어진 해당 조건, resource loader가 이러한 조건(세팅)을 추가해준다. 

 

5.SPEL 

코드안에서 사용하진 않았지만 

@Value("${developer.level.min.senior}") 외부에서 값을 주입받을 수 있게끔 해준다. 

그 이후 private final Integer minSeniorYears등의 설정을 하고 .

이 developer.level.min.senior 를 applciationproperties에 넣어주면, 값을 받아서 사용할 수 있다 .

 

6. nonnull

여러가지 곳에서 사용되는 @Nonnull, @Notnull. 

 

'백엔드 > 스프링 핵심 개념' 카테고리의 다른 글

TDD  (2) 2024.01.03
Handler Methods  (0) 2024.01.02
Null Safety  (1) 2023.12.27
SpEL  (0) 2023.12.27
Resource  (0) 2023.12.26