spring-core
study
너무 많은 내용이라, 블로그에 정리함
core reference : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#spring-core
ApplicationContext
Spring IoC Container and Beans
Bean register 등록 원리 -1
https://blog.naver.com/gngh0101/221576302088
Bean register 등록 원리 -2
https://blog.naver.com/gngh0101/221590684880
BeanFactory vs ApplicationContext
https://blog.naver.com/gngh0101/221639046641
Dependency Injection Constructor 생성자 주입 원리
https://blog.naver.com/gngh0101/221683567520
Dependency Injection Autowired Filed Setter 주입 원리
https://blog.naver.com/gngh0101/221690000028
InitializeBean (@PostConstruct / InitializingBean / CustomInitMethod ... )동작 원리와 순서
https://blog.naver.com/gngh0101/221691289433
FactoryBean 동작 원리
https://blog.naver.com/gngh0101/222027480358
Event Publisher 동작 원리
https://blog.naver.com/gngh0101/222020512119
EventListener Bean 등록 과정
https://blog.naver.com/gngh0101/222022197174
EventListener Event dispatch 동작 원리
https://blog.naver.com/gngh0101/222040857815
Event Custom ApplicationEventMulticaster
https://blog.naver.com/gngh0101/222047805469
ClassPathXmlApplicationContext
- 고전적인 xml를 이용한 빈 설정 방법
AnnotationConfigApplicationContext
- @Configuration 을 이용한 빈 설정 방법
Application Context LifeCycle with Event
https://blog.naver.com/gngh0101/222363176425
Bean Scope
https://blog.naver.com/gngh0101/222344239921
-
Singleton
-
Prototype
프로토타입 빈이 싱글톤 빈을 참조할 경우 문제가 없다.
하지만 싱글톤 빈이 프로토 타입 빈을 참조하면
프로토타입 빈이 초기 래퍼런스 값을 변경하지 않는다.
-> scoped-proxy, Object-Provider
AOP(Aspect-Oriented Programming)
AOP의 이해
Dynamic Proxy 동작 원리
cglib
Configuration
Configuration Component 차이점
Configuration CGLIB 동작 원리
Enable Annotation
Import(Configuration, ImportSelector, ImportBeanDefinitionRegistrar)의 이해
Import(Configuration, ImportSelector, ImportBeanDefinitionRegistrar)의 동작 원리
SpEL
Spring Expression Language의 줄인 말로 런타임 시점에 object graph 를
조회, 조작하는 강력한 언어이다.
- object graph : 객체들의 연관 관계, 정보를 보여주는 그래프
AutoConfig
Stater
https://blog.naver.com/gngh0101/222044744634
Profile
2.4.0 이후부터 spring.profiles 이 아닌 spring.config.activate.on-profile 사용함
- 2.4.0 Migration Guide : https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-Config-Data-Migration-Guide
Boot Run
1. WebApplicationType / SpringFactoriesLoader
https://blog.naver.com/gngh0101/222195371984
2. bootstrapper, SpringApplicationRunListener
https://blog.naver.com/gngh0101/222202365575
3. ConfigurableEnvironment
https://blog.naver.com/gngh0101/222208890915
4. Application.yml / properties load
https://blog.naver.com/gngh0101/222234252938
5. SpringApplicationRunListener
https://blog.naver.com/gngh0101/222445524716
MVC
@EnableWebMvc, AutoConfiguration 원리
DispatcherServlet
초기화와 기본전략
HandlerMapping의 이해
HandlerAdapter의 이해
@ResponseBody, @RestController 동작 원리
예외 처리 - @ControllerAdvice 동작 원리
WebFlux
https://github.com/hotire/spring-boot-webflux
기타
Enable Async 동작 원리
https://blog.naver.com/gngh0101/222073112894
Optimizing Spring Integration Tests
https://docs.spring.io/spring-framework/docs/current/reference/html/testing.html#testcontext-ctx-management-caching https://www.baeldung.com/spring-tests