오늘은 jackson OM 의 노드를 직접 사용해보기 / 어노테이션 정리 두 가지의 내용입니다. 시간이 없었는데 짧은 내용이라 이득 본 거 같은 기분이네요.
Jackson 자세히
jackson OM 의 핵심 노드는 JsonNode (수정 불가) 와 ObjectNode (수정 가능) 두 가지입니다. 어째서인지 IDE가 말을 안 들어서 확인은 못 했지만 JsonNode 는 인터페이스고 ObjectNode 는 실제 오브젝트겠죠.... 는 틀렸네요. 그냥 부모클래스인가봅니다.
- JsonNode: https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/latest/com/fasterxml/jackson/databind/JsonNode.html
- ObjectNode: https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/latest/com/fasterxml/jackson/databind/node/ObjectNode.html
라이브러리는 jackson-databind가 필요한가보네요.
강의에서 objectMapper.convertValue( arrayNode, new TypeReference<List<Car>>(){}); 라는 코드가 있었는데, List<Car> 부분이 좀 흐리게 나왔었습니다. 이게 JVM 이 C# CLR보다 구려서 일어나는 현상인지 마우스를 올려서 확인해봤어야 하는데 IntelliJ 가 어째서인지 새 콘솔 프로젝트로 들어올때마다 제대로 프로젝트를 구성 안 해주는 바람에... 내일이던 나중이던 다른 환경에서 다시 확인해봐야겠네요.
Annotation 목록 정리
끝으로 4분짜리 강의에서 나왔던 어노테이션들을 목록으로 쭉 정리해주십니다. 안 배운것도 몇 개 있네요!
- Spring
- @SpringBootApplication
- 컨트롤러
- @Controller
- @RestController (@RequestBody 를 자동으로 였던가요)
- 매핑
- @GetMapping
- @PostMapping
- @PutMapping
- @DeleteMapping
- 핸들러 패러미터
- @RequestParam (*패러미터에 적용)
- @RequestBody (*함수에 적용)
- 검증
- @Valid - 안 나왔습니다! 다음 섹션인듯
- Spring DI
- 컴포넌트 / Bean
- @Configuration - Bean을 수동으로 타입을 지정해서 만들 때 사용하는 설정 클래스
- @Component
- @Bean
- 오토와이어
- @Autowired - 안 나왔습니다! DI 관련이라네요. 이거... PluralSight 강의 같은데서 필드에 DI 할 때 썼던 거 같은데...
- @Qualifier - 안 나왔습니다! Bean 이 2개 이상일 때 타입의 조건을 제시하기 위해 쓰이나봅니다. 알 것 같네요.
- @Resource - 안 나왔습니다! @Autowired + @Qualifier 래요.
- 컴포넌트 / Bean
- Eclipse AspectJ
- @Aspect
- @Pointcut (왜 목록에 빠져있죠?)
- 어드바이스 (Advice)
- @After / @AfterReturning / @AfterThrowing
- @Before
- @Around
대충 다 알고있으니까 따로 설명을 안 적어도 되는 건 좋네요. 강의에서는 어노테이션이 그룹화되어서 나오지 않았지만 이렇게 그룹으로 묶어두면 어디에 속하는 건지 알고있으니까 나중에 다시보거나 활용하기 좋지 않을까요? 계층구조만 봐도 뭔지 감이 올테구요.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
패스트캠퍼스: https://bit.ly/37BpXiC
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는JavaSpring웹개발마스터초격차패키지Online
아으 으아 시간이 좀만 더 있었어도 validation 도 진행하는건데... 어제 2시에 자버린바람에 낮잠을 잤음에도 7시에 일어났다가 도로 잤던게... 아... 트레이드오프... 오늘은 이후의 일정이 있어서 지금 이후로는 시간을 내기가 어렵습니다,,,
내일의 나야 부탁해!
'FastCampus - 한번에 끝내는 Java|Spring 웹 개발 > 03 스프링 입문' 카테고리의 다른 글
스프링 Ch 6-2 custom validation - 패스트캠퍼스 챌린지 9일차 (0) | 2022.02.01 |
---|---|
스프링 Ch 6-1 validation - 패스트캠퍼스 챌린지 8일차 (0) | 2022.01.31 |
스프링 Ch 5 스프링 좀 더 - AOP (2) - 패스트캠퍼스 챌린지 6일차 (0) | 2022.01.29 |
스프링 Ch 5 스프링 좀 더 - AOP (1) - 패스트캠퍼스 챌린지 5일차 (0) | 2022.01.28 |
스프링 Ch 5 스프링 좀 더 - IoC, DI - 패스트캠퍼스 챌린지 4일차 (0) | 2022.01.27 |