스프링컨테이너스프링이 아닌 스프링컨테이너라고 하는 이유가 있다.스프링이라는 프레임워크에 가장 기반이 되는 기술은 스프링컨테이너이다.사실 같은 말로 사용해도 된다.Ioc/DI 컨테이너라고도 부른다Dependency Injection (의존관계 주입)기존의 ObjectFactory는 사실 BeanFactory이다.Bean은 그냥 자바의 컴퍼넌트 오브젝트 모델에 붙인 이름이다.그냥 오브젝트라 불러도 된다. 그래서 BeanFactory라고 불러도 된다.현재의 ObjectFactory는 다음과 같은 구조로 서비스를 호출한다. BeanFactory를 사용하려면 아래의 그림과 같은 ObjectFactory가 또 필요로 하게 된다.public class Client { public static void main(..
현재는 Client에서 paymentService를 부를 때 어떤 것을 부를 지에 대해 책임을 가진 것이 된다. public class Client { public static void main(String[] args) throws IOException { //PaymentService paymentService = new PaymentService(new WebApiExRateProvider()); ObjectFactory factory = new ObjectFactory(); PaymentService paymentService = factory.paymentService(); Payment payment = paymentService.prep..
package com.hellopayment;import java.io.IOException;import java.math.BigDecimal;import java.time.LocalDateTime;public class PaymentService { private final ExRateProvider exRateProvider; public PaymentService() { this.exRateProvider = new WebApiExRateProvider(); } public Payment prepare(Long orderId, String currency, BigDecimal foreignCurrencyAmount) throws IOException { ..
package com.hellopayment;import com.fasterxml.jackson.databind.ObjectMapper;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.math.BigDecimal;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.time.LocalDateTime;import java.util.stream.Collectors;public class PaymentService { public Paymen..
package com.hellopayment;import com.fasterxml.jackson.databind.ObjectMapper;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.math.BigDecimal;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.time.LocalDateTime;import java.util.stream.Collectors;public class PaymentService { public Paymen..
오브젝트 (Object)- 오브젝트란 OOP, 객체, 클래스 등으로 부른다. 클래스의 인스턴스 = 오브젝트 클래스의 실체 = 오브젝트 인스턴스는 다양하게 사용하는 용어이다. 인스턴스란 추상적인 것에 대한 실체이다. 자바에서 오브젝트란 무엇인가요? 답을 내린다면 클래스의 인스턴스 또는 배열(Array)이다. 이것이 기술적으로는 완벽한 대답이라 한다. 클래스는 설계도이며 그것으로 만들어지는 것이 오브젝트이다. 라고 보면 된다.의존관계 (Dependency)A --> B (A가 B에 의존한다.) Client --> Supplier (Client가 Supplier 클래스의 의존한다)- 이는 Client의 기능이 제대로 작동하려면 Supplier가 필요하다.- Client가 Supplier를 사용, 호출, 생성..
환율 계산기를 만드려고 한다. 먼저 무료로 제공하고 있는 환율 데이터 API를 통해 환율을 가져오는 코드를 작성하려 한다.이 부분에서 기존에 애매모호했던 내용을 정리하려한다. 1. java.net.URLURL url = new URL("https://example.com");URLConnection connection = url.openConnection(); URL클래스는 원격지원에 대한 연결을 생성할 때 사용된다. 그리고 openConnection() 메서드는 주어진 URL에 대한 URLConnection 객체를 반환한다.- 연결 객체 생성: URL의 프로토콜에 맞는 URLConnection 객체를 생성한다. 예를 들어, http 프로토콜의 경우 HttpURLConnection 객체가 반환됩니다.UR..
java.lang.IllegalStateException: This error handler cannot process 'SerializationException's directly; please consider configuring an 'ErrorHandlingDeserializer' in the value and/or key deserializer 위의 오류처럼 뭔가 설정상의 오류가 있는 것 같다. package io.hhplus.concert.config;import org.apache.kafka.clients.consumer.ConsumerConfig;import org.apache.kafka.common.serialization.StringDeserializer;import org.spring..
- Total
- Today
- Yesterday
- 백엔드 개발자 공부
- 향해플러스
- jpa api
- 컨트
- 항해99
- BindingResult
- 스프링공부
- 예외처리
- JPA
- 항해플러스
- SpringBoot
- 로그인
- exception
- 인터셉터
- 향해플러스백엔드
- 백엔드 개발자 역량
- Intercepter
- filter
- 리터럴
- HTTP
- 향해99
- reject
- react실행
- 스프링부트
- ArgumentResolver
- Java
- rejectValue
- thymleaf
- hypertexttransferprotocol
- React
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |