Framework

이전 포스팅에서 Redis 설정하는 방법과 그 안에서 사용한 메서드에 대해서 가볍게 포스팅을 해봤습니다. 이번에는 설정한 CacheManager을 통해서 스프링에서 캐싱을 어떻게 사용하는지 알아보려고 해요 😊 @Cacheable 캐싱은 많은 애플리케이션에서 성능을 향상하는 핵심적인 기술 중 하나이며, 그중에서도 스프링 프레임워크에서는 @Cacheable 어노테이션을 통해 메서드 호출의 결과를 캐싱하는 기능을 제공합니다. 이를 통해 반복적인 계산을 피하고 응답 시간을 줄일 수 있게 됩니다. @Cacheable는 메서드의 특정 인자에 대한 결과 값을 캐시저장소에 저장하고 같은 인자에 대한 결과 값을 메서드를 실행하지 않고 캐싱 저장소에서 가져와 반환을 해줍니다. @Service public class MyS..
레디스 설정부터, 레디스 조회/ 추가/ 삭제 등에 대한 깊게 다뤄보려고 합니다. 올해 자바 버전 업과 스프링 버전 업을 했기 때문에 다시 레디스 설정에 대해 다시 정비하는 시간을 가지려고 합니다. 겸사겸사 설정한 코드에 대한 깊게 분석할 시간을 가지려고 합니다. 😊 레디스는 메모리 기반의 데이터 저장소로서, 캐싱, 세션 관리 등 다양한 용도로 사용되는데, 저는 스프링 부트를 사용하며 레디스는 대게 캐시 매니저나 세션을 저장을 할 때 활용되고 있어요. 스프링 부트에서는 레디스를 간편하게 설정하고 사용할 수 있는데, properties 또는 yml 파일에서 redis 호스트, 포트, 타입 등을 간단하게 설정할 수 있어요. 저는 properties 파일을 사용하기 때문에 다음과 같이 설정을 했습니다 🙄 spr..
생성자 주입(Constructor Injection)은 의존성 주입의 한 종류로, 객체를 생성할 때 해당 객체가 필요로 하는 의존성을 생성자를 통해 주입하는 방식이에요. 스프링 프레임워크에서는 Autowired 어노테이션을 사용합니다. 반면에 필드 주입(Field Injection)은 의존성을 클래스의 필드에 직접 주입하는 방식이며, Autowired 어노테이션을 필드에 적용합니다. @Service public clas ExampleService { private final ExampleRepository exampleRepository; @Autowired public ExampleService(ExampleRepository exampleRepository) { this.exampleRepositor..
@RequestMapping @RequestMapping은 Spring Framework에서 컨트롤러 메서드에 대한 매핑을 지정하는 데 사용되는 어노테이션입니다. 이 어노테이션은 클래스 수준 또는 메서드 수준에서 사용될 수 있습니다. 클래스 수준에서 사용할 경우, 해당 클래스의 모든 메서드에 적용됩니다. @Controller @RequestMapping("/example") public class ExampleController { @RequestMapping("/hello") public String hello() { return "helloPage"; } } // 위에 코드에서 클라이언트에서 "/example/hello" 경로에 요청을 보내면 // 서버에서는 hello 메서드가 실행되면서 클라이언트한..
@SpringBootApplication @SpringBootApplication은 Spring Boot FrameWork에서 주요한 어노테이션 중 하나로, Spring Boot Application을 개발하는 데 사용 됩니다. 해당 어노테이션을 사용하면 Spring Boot는 Application 설정을 자동으로 구성하고, 필요한 Spring Bean 들을 자동으로 검색하여, classpath에 있는 라이브러리들을 기반으로 자동 구성을 활성화합니다. @SpringBootApplication에서는 내부적으로 다음과 같은 일을 수행합니다 @SpringBootConfiguration Spring Boot에서 사용되는 특수한 유형의 @Configuration으로, 설정 클래스를 지정할 수 있습니다. 클래스 내..
스프링 시큐리티(Spring Seucirty) 스프링 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크. 서블릿 필터와 이들로 구성된 필터 체인으로의 위임 모델을 사용한다. 보안과 관련해서 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안 관련 로직을 작성하지 않아도 된다. 보안 용어 인증(Authenticate) : 접근하려는 유저의 권한을 확인하는 절차 ex) 회원가입, 로그인 인가(Authorization) : 인증된 사용자에 대해서 권한을 확인하고 허락하는 것. 접근 주체(Principal) : 보호된 대상에 접근하는 대상 인증 아키텍처 1. 유저가 폼(form)을 통해 로그인 정보를 입력하고 인증 요청을 보낸다. Authentication..
[Spring Boot] 스프링 제어의 역전(Inversion of Control)과 의존성 주입(Dependency Injection - DI)에 대해서 - 1. 제어의 역전(Inversion of Control) 정의 및 예제 2. 의존성 주입(Dependency Injection) 정의 및 예제 객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성하게 하여 가독성 및 코드의 comdolidol-i.tistory.com [Spring Boot] 스프링에 대해서 - 컴도리돌이 스프링(Spring)의 정의 스프링(Spring)은 자바(JAVA) 개발을 편하게 해주는 오픈 소스 경량급 애플리케이션 프레임 워크이다. 위에 말은 스프링에 대해 잘 알려진 대표적인 정의이다. 하지만 스프링을 c..
1. 제어의 역전(Inversion of Control) 정의 및 예제 2. 의존성 주입(Dependency Injection) 정의 및 예제 객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성하게 하여 가독성 및 코드의 중복, 유지보수를 편하게 할 수 있게 한다. 아래 코드는 "MyLunch" 클래스에서 "Apple" 객체를 불러오는 예제이다. 일반적으로 의존성에 대한 제어권은 객체 자기 자신에 갖는다. class MyLunch{ private Apple apple = new Apple(); } 위에 코드에서는 Apple 객체의 제어권이 MyLunch에게 있었다면, 다음 코드에서는 Mylunch에게 Apple의 제어권을 갖고 있는 게 아니라 MyLunchTest에게 있다. 이 처럼 ..
행복한쿼콰
'Framework' 카테고리의 글 목록