/spring-core-study

✏️ study

Primary LanguageJava

spring-core

logo

study

너무 많은 내용이라, 블로그에 정리함

core reference : https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#spring-core

ApplicationContext

Spring IoC Container and Beans

context

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 사용함

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