# SPRING

- [Spring 특징](https://incheol-jung.gitbook.io/docs/q-and-a/spring/spring-1.md): Spring Framework의 특징을 살펴보자
- [N+1 문제](https://incheol-jung.gitbook.io/docs/q-and-a/spring/n+1.md): JPA N+1 문제에 대해 알아보자
- [테스트 코드 어디까지  알아보고 오셨어요?](https://incheol-jung.gitbook.io/docs/q-and-a/spring/undefined.md)
- [테스트 코드 성능 개선기](https://incheol-jung.gitbook.io/docs/q-and-a/spring/undefined-1.md)
- [RestTemplate 사용시 주의사항](https://incheol-jung.gitbook.io/docs/q-and-a/spring/resttemplate.md)
- [동시성 해결하기(feat. TMI 주의)](https://incheol-jung.gitbook.io/docs/q-and-a/spring/feat.-tmi.md)
- [redisson trylock 내부로직 살펴보기](https://incheol-jung.gitbook.io/docs/q-and-a/spring/redisson-trylock.md)
- [DB 트래픽 분산시키기(feat. Routing Datasource)](https://incheol-jung.gitbook.io/docs/q-and-a/spring/db-feat.-routing-datasource.md)
- [OSIV](https://incheol-jung.gitbook.io/docs/q-and-a/spring/osiv.md): OSIV에 대해서 알아보자
- [@Valid 동작 원리](https://incheol-jung.gitbook.io/docs/q-and-a/spring/valid.md): @Valid 동작 원리를 알아보자
- [mybatis @Builder 주의사항](https://incheol-jung.gitbook.io/docs/q-and-a/spring/mybatis-builder.md)
- [스프링 클라우드 컨피그 갱신 되지 않는 이슈(feat. 서비스 디스커버리)](https://incheol-jung.gitbook.io/docs/q-and-a/spring/feat..md)
- [ImageIO.read 동작하지 않는 경우](https://incheol-jung.gitbook.io/docs/q-and-a/spring/imageio.read.md)
- [카프카 transaction 처리는 어떻게 해야할까?](https://incheol-jung.gitbook.io/docs/q-and-a/spring/transaction.md)
- [Spring Boot 특징](https://incheol-jung.gitbook.io/docs/q-and-a/spring/spring-boot.md): Spring 과 비교하여 Spring Boot의 특징을 살펴보자
- [Spring 5 특징](https://incheol-jung.gitbook.io/docs/q-and-a/spring/spring-5.md): Spring Framework 5 특징에 대해서 살펴보자
- [JPA vs MyBatis](https://incheol-jung.gitbook.io/docs/q-and-a/spring/jpa-vs-mybatis.md): JPA와 MyBatis의 차이를 알아보자
- [Filter와 Interceptor](https://incheol-jung.gitbook.io/docs/q-and-a/spring/filter-interceptor.md): Filter와 Interceptor의 차이에 대해 알아보자
- [영속성 컨텍스트(Persistence Context)](https://incheol-jung.gitbook.io/docs/q-and-a/spring/persistence-context.md): 영속성 컨텍스트에 대해 알아보자
- [@Transactional](https://incheol-jung.gitbook.io/docs/q-and-a/spring/transactional.md): @Transactional 에 대해서 알아보자
- [@Controlleradvice, @ExceptionHandler](https://incheol-jung.gitbook.io/docs/q-and-a/spring/controlleradvice-exceptionhandler.md): @Controlleradvice, @ExceptionHandler에 대해 알아보자
- [Spring Security](https://incheol-jung.gitbook.io/docs/q-and-a/spring/spring-security.md): Spring Security 동작 과정을 살펴보자
- [Dispatcher Servlet](https://incheol-jung.gitbook.io/docs/q-and-a/spring/spring-web-mvc.md): Dispatcher Servlet를 확인하여Spring Web MVC 과정을 살펴보자
- [@EnableWebMvc](https://incheol-jung.gitbook.io/docs/q-and-a/spring/enablewebmvc.md): @EnableWebMvc 사용법을 알아보자
- [Stereo Type(스테레오 타입)](https://incheol-jung.gitbook.io/docs/q-and-a/spring/stereo-type.md): Stereo Type에 대해서 알아보자
- [AOP](https://incheol-jung.gitbook.io/docs/q-and-a/spring/aop.md): AOP 전략에 대해 알아보자
- [JPA Repository 규칙](https://incheol-jung.gitbook.io/docs/q-and-a/spring/jpa-repository.md): JPA Repository 에서 제공하는 인터페이스 메소드를 알아보자


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://incheol-jung.gitbook.io/docs/q-and-a/spring.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
