Light Blue Pointer
본문 바로가기

분류 전체보기298

Spring IoC Container, Bean Spring BeanBean 은 Spring IoC container 에 의해 관리(생성,조립,관리)되는 객체이다.Spring Framework의 중추이다.스프링 IoC 컨테이너는 제어의 역전을 실현하기 위한 핵심 요소이다. 이 컨테이너는 애플리케이션의 객체를 생성하고 관리하며, 이를 통해 객체 간의 의존성을 관리한다. 여기서 제어의 역전은 객체의 생성과 생명주기를 개발자가 아니라 컨테이너에 위임하는 것을 의미한다.Spring IoC ContainerInversion of Control (IoC) 원칙을 따라 응용 프로그램의 객체 생성, 관리 및 의존성 주입을 담당한다.Dependency injection (DI) 는 IoC의 일종으로, 객체들이 그들의 의존성을 Constructor의 argumenet(.. 2024. 5. 6.
Spring Framework 란? Spring Framework스프링 프레임워크는 모든 종류의 배포 플랫폼에서 Java 기반 엔터프라이즈 애플리케이션을 개발하기 위한 오픈 소스 프레임워크Spring Framework의 역사스프링(Spring)은 2002년에 로드 존슨(Rod Johnson)이 개발한 경량 프레임워크로 시작되었다.초기에는 EJB(Enterprise JavaBeans)의 복잡성을 줄이고자 만들어졌으며, 특히 의존성 주입(Dependency Injection)과 관점 지향 프로그래밍(Aspect-Oriented Programming, AOP)을 강조했다.스프링은 자바 기반 엔터프라이즈 애플리케이션 개발을 위한 다양한 모듈과 기능을 제공하여 개발 생산성과 유지보수성을 향상시켰다.또한, 스프링의 경량화된 설계와 모듈화된 구조는 개.. 2024. 5. 6.
[Kotlin] Cannot set property id because no setter, no wither and it's not part of the persistence constructor 🚩에러2024-04-25T22:52:54.233+09:00 ERROR 21840 --- [core] [nio-8081-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalStateException: Cannot set property id because no setter, no wither and it's not part of the persistence constructor public kpring.chat.chatroom.mod.. 2024. 4. 25.
[Kotlin] RestClient를 MSA로 구성된 Spring module간 통신에 사용하는 예시 core module에 다음과 같은 interface를 생성한다package kpring.core.auth.clientinterface AuthClient { @PostExchange("/api/v1/validation") fun validateToken( @RequestHeader("Authorization") token: String, ): ResponseEntity} chat module에서 auth module의 api를 호출하기 위해 core module의 interface를 사용한다interface를 넘겨주면 HttpServiceProxyFactory 가 요청을 날리는 proxy를 생성한다package kpring.chat.config@Configurationcla.. 2024. 4. 25.
HTTP Interface Client, (RestClient, WebClient, RestTemplate의 차이) HTTP InterfaceSpring Framework를 사용하면 @HttpExchange 메서드가 있는 Java 인터페이스로 HTTP 서비스를 정의할 수 있다.이 인터페이스를 HttpServiceProxyFactory에 전달하여 RestClient 또는 WebClient 와 같은 HTTP 클라이언트를 통해 요청을 처리하는 프록시를 생성할 수 있다. interface → HttpServiceProxyFactory → HTTP client로 요청들을 날리는 proxy를 생성 혹은 @Controller 에서 인터페이스를 구현하여 서버 요청 처리를 할 수도 있다 HTTP Client의 종류 RestClient WebClient RestClient, WebClient, RestTemplate의 차이🔎를 알아보.. 2024. 4. 25.
Creational patterns Singleton Pattern Instance가 딱 하나만 존재할 수 있는 패턴 class 안에 static instance가 있고 static getInstance() 메서드로 instance가 이미 존재한다면 그것을 return, instance가 존재하지 않는다면 생성하고 static에 넣은 후에 그것을 return Prototype Pattern (Clone) 그 클래스의 코드에 의존적이지 않은 채로 존재하는 객체를 복사할 수 있게 해준다 Prototype Pattern이 나온 배경 객체를 복사해서 똑같은 복제본을 만들고 싶은 상황 똑같은 클래스의 객체를 하나 더 생성한다 원래 객체의 모든 필드에서 값을 복사해다 새로운 객체에다가 붙여넣는다 이런 상황에서 생기는 문제점들 어떤 필드는 privat.. 2024. 4. 18.
디자인 패턴 디자인 패턴이란? 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상화관계 등을 이용하여 해결할 수 있도록 하나의 ‘규약’ 형태로 만들어 놓은 것 Design patterns는 Elements of Reusable Object-Oriented Software라는 책으로 처음 등장했는데 네 명의 C++ Engineer들이 썼다고 함 정답은 아니지만 알아두면 사고방식 향상에 도움이 된다고 한다 https://refactoring.guru/design-patterns 이 웹사이트에 가면 상세한 설명이 있다 디자인 패턴의 장점 재사용성 반복적인 문제에 대한 일반적인 해결책을 제공하므로, 이를 재사용하여 유사한 상황에서 코드를 더 쉽게 작성할 수 있다. 가독성 일정한 구조로 정리하고 명확하게 작성하여 개발자가.. 2024. 4. 17.
Spring 프로젝트 HTTP에서 HTTPS로 변경하기 (Java로 SSL 만들어서 Spring 프로젝트에 적용하기(P12 방식)) Spring 프로젝트를 http에서 https로 만들기 위해서 SSL을 발급받아서 추가하는 방법을 설명하려고 한다 인텔리제이 cmd가 먹히지 않아서 Windows cmd prompt로 했다 관리자 모드로 열어주지 않으면 아래와 같은 에러가 발생한다 keytool error: java.io.FileNotFoundException: keystore.p12 (Access is denied) jdk bin으로 이동하면 keytool이 있어서 jdk bin으로 이동해준다 C:\\Program Files\\Java\\jdk-17\\bin> Keystore + 키 쌍 생성 keytool -genkey -alias {keystore name} -keyalg RSA -storetype PKCS12 -keystore {k.. 2024. 4. 17.
[프로그래머스] 이모티콘 할인행사 문제 주소 https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 카카오톡에서는 이모티콘을 무제한으로 사용할 수 있는 이모티콘 플러스 서비스 가입자 수를 늘리려고 합니다. 이를 위해 카카오톡에서는 이모티콘 할인 행사를 하는데, 목표는 다음과 같습니다. 이모티콘 플러스 서비스 가입자를 최대한 늘리는 것. 이모티콘 판매액을 최대한 늘리는 것. 1번 목표가 우선이며, 2번 목표가 그 다음입니다. 이모티콘 할인 행사는 다음과 같은 방식으로 진행됩.. 2024. 4. 17.