Java 8 groupingBy Collector
1. groupingBy Collectors Java 8 Stream API를 사용하면 선언적인 방식으로 데이터 컬렉션을 처리할 수 있다. 정적 팩토리 메소드 Collectors.groupingBy() 및 Collectors.groupingByConcurrent()는 SQL 언어의 ‘GROUP BY’ 절과 유사한 기능을 제공한다. 일부 속성을 기준으...
1. groupingBy Collectors Java 8 Stream API를 사용하면 선언적인 방식으로 데이터 컬렉션을 처리할 수 있다. 정적 팩토리 메소드 Collectors.groupingBy() 및 Collectors.groupingByConcurrent()는 SQL 언어의 ‘GROUP BY’ 절과 유사한 기능을 제공한다. 일부 속성을 기준으...
1. Stream.collect() 메서드 Stream.collect()는 Java 8의 Stream API 터미널 메소드 중 하나이다. 이를 통해 Stream 인스턴스에 있는 데이터 요소에 대해 변경 가능한 접기 작업(요소를 일부 데이터 구조에 다시 패키징하고 추가 논리를 적용하고 연결하는 등)을 수행할 수 있다. 이 작업에 대한 전략은 Colle...
1. Java 8의 람다 Java 8은 람다 표현식의 형태로 강력하고 새로운 구문 개선을 가져왔다. 람다는 일류 언어 시민으로서 처리할 수 있는 익명 함수이다. 예를 들어, 이를 메서드에 전달하거나 메서드에서 반환할 수 있다. Java 8 이전에는 일반적으로 단일 기능을 캡슐화해야 하는 모든 경우에 대해 클래스를 만들었다. 이는 기본 함수 표현 역할...
1. Stream.findAny() 사용 이름에서 알 수 있듯이 findAny() 메서드를 사용하면 Stream에서 모든 요소를 찾을 수 있다. 발생 순서에 주의를 기울이지 않고 요소를 찾을 때 이를 사용한다. 이 메서드는 Stream이 비어 있으면 비어 있는 Optional 인스턴스를 반환한다. @Test public void createSt...
1. 스트림 API Java 8의 새로운 주요 기능 중 하나는 요소 시퀀스를 처리하기 위한 클래스가 포함된 스트림 기능(java.util.stream)의 도입이다. 핵심 API 클래스는 Stream<T> 이다. 예제에서는 기존 데이터 공급자 소스를 사용하여 스트림을 생성하는 방법을 보여준다. 1) 스트림 생성 스트림은 stream() 및...
1. 스트림 생성 다양한 소스의 스트림 인스턴스를 생성하는 방법에는 여러 가지가 있다. 일단 생성된 인스턴스는 소스를 수정하지 않으므로 단일 소스에서 여러 인스턴스를 생성할 수 있다. 1) Empty Stream 빈 스트림을 생성하는 경우에는 empty() 메서드를 사용해야 한다. Stream<String> streamEmpty = St...
1. Filters 필터는 Spring 프레임워크가 아닌 웹서버의 일부이다. 들어오는 요청의 경우 필터를 사용하여 요청이 서블릿에 도달하지 못하도록 조작하고 차단할 수도 있다. 그 반대로 응답이 클라이언트에 도달하지 못하도록 차단할 수도 있다. Spring Security는 인증 및 권한 부여에 필터를 사용하는 좋은 예이다. Spring Securi...
1. Filters 필터는 Spring 프레임워크가 아닌 웹서버의 일부이다. 들어오는 요청의 경우 필터를 사용하여 요청이 서블릿에 도달하지 못하도록 조작하고 차단할 수도 있다. 그 반대로 응답이 클라이언트에 도달하지 못하도록 차단할 수도 있다. Spring Security는 인증 및 권한 부여에 필터를 사용하는 좋은 예이다. Spring Securi...
1. 메이븐 의존성 Thymeleaf를 Spring과 통합하는데 필요한 구성이다. thymeleaf-spring 라이브러리 종속성이 필요하다. <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf</artifactId&g...
1. 메이븐 의존성 Interceptors를 사용하려면 pom.xml 파일의 종속성 섹션에 다음 섹션을 포함해야 한다. <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> ...