@Component, @Bean 어노테이션
·
Spring
@Component 클래스를 Spring에서 알아서 관리해주는 자바 빈으로 표시하는 데 사용 Spring이 자동으로 클래스의 인스턴스를 생성하고 종속성을 포함하여 각종 lifecycle 관리 @Component public class MyComponent { // ... } @Autowired ApplicationContext에 종속성을 주입 Spring에서 필요한 종속성의 인스턴스를 자동으로 주입 @Component public class MyComponent { private MyService myService; @Autowired public MyComponent(MyService myService) { this.myService = myService; } // ... } @Service, @Con..
Spring 제어의 역전(Ioc) ,의존성 주입 (DI), ApplicationContext
·
Spring
IOC (Inversion of Control)제어의 역전이라는 의미애플리케이션 흐름의 주도권을 Spring이 갖는다라는 것객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 함가독성 및 코드 중복, 유지 보수를 편하게 할 수 있게 함 IOC 컨테이너는 객체의 생성, 초기화, 서비스 소멸에 관한 모든 권한을 가지면서 객체의 생명주기를 관리 DI(Dependency Injection)의존성하나의 객체가 다른 객체 없이 제대로 된 역할을 할 수 없다는 것A 객체가 B 객체 없이 동작 불가능한 상황을 'A가 B에 의존적이다'라고 표현 public class Store { private Pencil pencil; public Store() { this.pen..
객체지향의 설계, SOLID 원칙
·
Spring
1. 단일 책임 원칙 SRP(Single Responsibility Principle) 객체는 단 하나의 책임만 가져야 한다 하나의 클래스는 하나의 기능 담당하여 하나의 책임을 수행하는데 집중되도록 클래스를 따로따로 여러개 설계하라는 원칙 만일 하나의 클래스에 기능(책임)이 여러개 있다면 기능 변경(수정) 이 일어났을때 수정해야할 코드가 많아짐 최종적으로 단일 책임 원칙의 목적은 프로그램의 유지보수성을 높이기 위한 설계 기법 남자가 클래스 고장나면 모든 기능 사용 불가능 클래스를 나눠 놓는다면 남자친구 클래스가 고장나도 아들, 사원, 소대원과 같은 나머지 기능 사용 가능 2. 개방 폐쇄 원칙 OCP(Open Closed Priciple) 확장에 열려있어야 하며, 수정에는 닫혀있어야 한다 기능 추가 요청이..
[Redis] Spring Boot 연동, 객체 캐싱, MSA에서 사용 시 주의점 Serialize
·
Spring
개발환경 macOS Ventura 13.2 Spring Boot 3.0.1 RELEASE JAVA 17 1. Build.gradle Dependency 추가 implementation 'org.springframework.boot:spring-boot-starter-data-redis' 2. application.yml 파일 수정 로컬 레디스 spring: redis: # Local Redis lettuce: pool: max-active: 10 max-idle: 10 min-idle: 2 port: 6379 host: 127.0.0.1 password: 쿠버네티스 레디스 spring: data: # K8s Redis Custer redis: cluster: nodes: - redis-cluster.re..
[Apache POI] Spring Boot 엑셀 다운로드
·
Spring
설문조사 시스템에서 설문조사의 총 결과 데이터를 엑셀로 한눈에 볼 수 있도록 하는 기능을 추가했다. 첫 행은 설문조사의 문항, 두번째 행부터 설문조사의 답변을 조회할 수 있다. 1. pom.xml dependency 추가 org.apache.poi poi 3.13 org.apache.poi poi-ooxml 3.13 2. application.yml 추가 spring: mvc: contentnegotiation: favor-parameter: true favor-path-extension: true media-types: xls: application/vnd.ms-excel 3. ExcelService 생성 및 엑셀 다운로드 함수 추가 0) 조회할 설문의 데이터(SurveyDTO), 질문과 답변 데이터를..
[Keycloak] MSA에서 키클록 Spring Security 연동 (2) 토큰 발급, 토큰값 확인
·
Spring
[Keycloak] MSA에서 키클록 Spring Security 연동 (1) dependency 추가, gateway/auth 서비스 설정 개발환경 macOS Spring Boot 2.7.5 RELEASE JAVA 11 1. MSA 서비스 구조 서비스 디스커버리 패턴으로 gateway 서비스(api gateway)를 통해 각 서비스의 api를 호출하는 형태입니다. auth 서비스를 통해 회원가입/로그 karla.tistory.com 1. auth 서비스 - 회원가입 AuthController authService를 통해 keycloack DB에 사용자 생성 후, userService를 통해 부가적인 사용자 데이터를 user DB에 저장 // 회원가입 @PostMapping("/signup") publi..