Spring

· Spring
Spring에서 ApplicationContext는 Spring 컨테이너를 의미하여, Spring Bean을 관리하는 핵심 인터페이스입니다.즉, Spring에서 객체(Bean)의 생성, 초기화, 의존성 주입(DI), 생명주기 관리 등을 담당합니다. 1. ApplicaionContext 의 역할 Spring 애플리케이션에서 중앙 컨테이너 역할을 하며 다음 기능을 제공합니다.Bean 등록 및 관리- @Component, @Service, @Repository, @Controller, @Bean 등을 사용하여 Spring Bean을 관리- 싱글톤(Singleton) 스코프를 기본적으로 유지의존성 주입(DI, Dependency Injection)- @Autowired, @Qualifier, @Inject 등을..
· Spring
개념Self-Invocation은 객체가 자기 자신의 메서드를 호출하는 것을 의미합니다. 즉, 클래스 내부에서 자기 자신의 다른 메서드를 호출하는 경우입니다.  하지만, Spring AOP에서 Self-Invocation은 AOP가 적용되지 않는 문제를 일으킬 수 있습니다.  1. Self-Invocation 예제@Servicepublic class MyService { public void methodA() { System.out.println("Method A 실행"); methodB(); // Self-Invocation (자기 자신 호출) } public void methodB() { System.out.println("Method B 실행"..
· Spring
개념프록시는 '대리인'이라는 뜻을 가지며, 소프트웨어에서 클라이언트와 대상 객체 사이에서 중간 역할을 수행하는 객체를 의미합니다.용도 보안(Security): 직접 접근을 막고 제어할 수 있음.성능 향상(Caching, Lazy Loading): 객체 생성을 지연시키거나 캐시를 활용함.로깅(Logging) 및 모니터링(Monitoring): 메서드 호출 전후로 로깅을 추가할 수 있음.트랜잭션(Transaction) 관리: 데이터베이스 트랜잭션을 프록시 객체에서 처리할 수 있음.AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)와 프록시 기반 동작 방식Spring AOP는 프록시(Proxy) 기반으로 동작하며, 주로 Spring의 @Transactional, @Aspect, ..
· 개발Log
오늘은 회사에서 레디스 세션 체크를 통한 로그아웃 로직을 구현하며 알게 된 것을 정리해보려 합니다!Redis주소는 맞게 들어가는데, 왜 값을 못가져올까??처음 보는 상황에 많이 당황했었는데요..Spring Transactional을 사용하면 Redis와 다르게 처리가 되는 방식이라, 제대로 작동이 되지 않았던 것이었습니다!오랜만에 새롭게 알게 된 내용이라 한번 정리를 해보려 합니다. Spring framework를 사용해 애플리케이션을 개발 시, 데이터베이스 트랜잭션 관리를 위해 흔히 @Transactional을 사용하고 있습니다. 그러나 Redis와 NoSQL 데이터베이스를 사용할 때는 @Transactional을 동일하게 사용할 수 없습니다.  이번 글에서는 그 이유와 Redis에서 트랜잭션을 사용하..
· Spring
회사에서 스프링 시큐리티를 컨트롤하다, 기존 Controller의 리턴값에서 불편함을 느껴 스터디를 진행해보았습니다. ResponseEntity란? Spring Framework에서 HTTP 응답을 나타내는 클래스입니다. 주로 MVC 컨트롤러에서 클라이언트에게 HTTP 응답을 반환할 때 사용됩니다. ResponseEntity는 응답의 HTTP 상태 코드, 헤더, 본문(Body) 등을 포함하는데 사용됩니다. HTTP 상태코드(Status Code) HTTP Headers 헤더는 키-값의 쌍으로 이루어져 있습니다. 캐시관련 헤더, 컨텐츠 헤더, 인코딩 등이 있습니다. 응답 본문(Body) 클라이언트로 전송될 응답의 본문을 나타냅니다. 주로 JSON, XML, HTML 등의 형식으로 데이터를 포함할 수 있습니..