Java (18) 썸네일형 리스트형 [JAVA] WebClient 사용법 알아보기! 간단 예제 포함! Spring Boot에서 WebClient는 비동기식 HTTP 요청을 처리하기 위해 사용되는 클라이언트입니다. WebClient는 Spring 5에서 도입된 새로운 HTTP 클라이언트로, RestTemplate의 대체제로 설계되었습니다. WebClient는 비동기 및 동기 방식 모두를 지원하며, 더 유연하고 강력한 기능을 제공합니다.WebClient 기본 설정Spring Boot 프로젝트에서 WebClient를 사용하려면 먼저 의존성을 추가해야 합니다. build.gradle 또는 pom.xml 파일에 다음을 추가하세요.Gradledependencies { implementation 'org.springframework.boot:spring-boot-starter-webflux'}Maven .. 자바 성능 튜닝 정보 알아보기! 구분 내용 -Djava.awt.headless 그래픽 사용자 인터페이스 (GUI)를 지원하는 환경에서 Java 애플리케이션을 실행할 때 사용됩니다. 이 설정은 화면이 없는 서버 환경에서 Java 애플리케이션을 실행할 때 유용합니다. java.awt.headless 시스템 속성을 true로 설정하면, Java 애플리케이션은 그래픽 환경이 없는 "헤드리스" 모드로 실행됩니다. 이 모드에서는 그래픽 화면이 없기 때문에 그래픽 관련 작업을 수행할 수 없습니다. 대신, 이 모드에서는 그래픽 작업을 대신할 수 있는 대체 수단을 사용하게 됩니다. 이러한 설정은 주로 웹 서버, 배치 프로세스 또는 백그라운드 작업과 같이 그래픽 환경이 필요하지 않은 Java 애플리케이션을 개발하고 실행할 때 유용합니다. 이렇게 설정을 .. [개념] Spring Framework와 Spring boot에 대해 알아보자! Spring Framework와 Spring Boot는 모두 Java 기반의 프레임워크로, 웹 애플리케이션 및 서비스를 개발하는 데 사용됩니다. 그러나 두 프레임워크 간에는 몇 가지 중요한 차이가 있습니다. 1. 초기 설정과 설정의 용이성: Spring Framework: 초기에는 XML 기반의 설정이 많이 사용되었습니다. Annotation 기반 설정이 도입되었지만 여전히 일부 설정은 XML을 사용할 수 있습니다. 프로젝트를 시작하기 위해 많은 설정이 필요할 수 있습니다. Spring Boot: 스프링 부트는 기본적인 설정을 자동으로 제공하는 "초기화 자동화"에 중점을 두고 있습니다. Convention over Configuration 원칙을 따르므로 개발자가 추가 설정을 하지 않아도 기본적인 설정이.. [Reactive Java] Spring WebFlux에서 Error 다루기 애플리케이션을 설계하고 개발할 때 다양한 케이스의 예외 상황을 고려해야 하는 것처럼, 리액티브 애플리케이션을 설계할 때도 모든 종류의 예외 상황을 처리 할 수 있어야 한다. 우리가 알고 있는 onError 시그널은 리액티브 스트림 스펙의 필수 요소여서 예외를 처리할 수 있는 경로로 전파 할 수 있다. 그러나 최종 구독자가 onError 시그널에 대한 핸들러를 정의하지 않으면 onError는 UnsupportedOperationException을 발생 시킨다.그리고 리액티브 스트림에서는 onError가 스트림이 종료되었다고 정의하고 있다. 그렇기 때문에 onError 시그널을 받으면 시퀀스가 실행을 중지하게 된다. 아래 onError 시그널을 처리할 수 있는 다양한 방법을 살펴보자.1. subscribe .. [JAVA] HttpURLConnection로 REST API 호출하기 이번 페이지에서는 HttpURLConnection을 이용해 REST API를 호출하는 방법을 알아보자. [GET] public void get(String strUrl) { try { URL url = new URL(strUrl); HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setConnectTimeout(5000); //서버에 연결되는 Timeout 시간 설정 con.setReadTimeout(5000); // InputStream 읽어 오는 Timeout 시간 설정 con.addRequestProperty.. [JAVA] REST API Client Library 알아보기 in Java Project 시스템 서비스 규모가 커지고 마이크로서비스 개념이 확산되어가면서 많은 프로젝트에서 서비스간에 통신 방식으로 REST API를 선호 하고 있다. 이 페이지에서는 REST API 사용자 입장(Client)에서 활용할 수 있는 JAVA Library를 알아보고자 한다. REST API Client에 JAVA Library로는 HttpURLConnection, HttpClient, OkHttp, Retrofit, RestTemplate를 대표적으로 들 수 있다. 이것 이외에도 수많은 Library가 존재하지만 많은 개발자가 선택하고 사용하고 있는 4가지 Library에 대해 간략하게 알아보자. 1. HttpURLConnection - 기본 JDK에 포함되어 있음. (jdk1.2부터 내장되어 있으며 java.ne.. [JAVA 8] 메서드 레퍼런스 알아보기! 메서드 레퍼런스는 특정 메서드만을 호출하는 람다의 축약 표현이라고 생각할 수 있다. 람다가 특정 메서드를 직접 호출하게 된다면 메서드를 어떻게 호출해야 하는지 설명을 참조 하기 보다 메서드 명을 직접 참조 하도록 하는 것이다. 메서드 레퍼런스를 이용한다면 기존 메서드 구현으로 람다 표현식을 만들 수 있다. 이때 명시적으로 메서드명을 참조 하게 됨으로서 가독성을 높일 수 있는 장점이 있다. 메서드 레퍼런스는 메서드명 앞에 구분자 (::)를 붙이는 방식으로 사용된다. Car :: getPrice (== (Car c) -> getPrice())는 Car 클래스의 getPrice의 메서드 레퍼런스를 뜻한다. [예제] (Car c) -> c.getPrice() =========> Car :: getPrice ().. [JAVA 8] 형식 검사, 형식 추론, 제약 람다로 함수형 인터페이스의 인스턴스를 만들 수 있으며 람다 표현식에는 람다가 어떤 함수형 인터페이스를 구현하는지 정보를 가지고 있다. 따라서 람다 표현식을 더 제대로 이해하려면 람다의 실제 형식을 파악해야 한다. 1. 형식 검사 - 람다에 사용되는 내용을 바탕으로 람다의 형식을 추론할 수 있다. - 대상 형식 ? 람다가 전달될 파라미터나 람다가 할당되는 변수 등에서 기대되는 람다 표현식의 형식을 대상 형식이라 부른다. (예: Predicate) - filter() 함수의 정의를 보면 파라미터로 Predicate로 정의 되어 있다. - 즉, Predicate라는 대상 형식에 만족하는 람다 함수를 기대하는 것이다. 1-1.같은 람다, 다른 함수형 인터페이스 - 대상 형식이라는 특징 때문에 같은 람다 표현식이.. 이전 1 2 3 다음