java
-
Java 8 표준 API 의 함수형 인터페이스(Supplier, Consumer)함수형 인터페이스란 1개의 추상 메소드를 갖는 인터페이스를 말한다.Java8 부턴 default 라는 키워드가 생겨 구현되어 있는 메서드가 있으나여러개의 디폴트 메서드가 있더라도 추상 메서드가 오직 한개라면 함수형 인터페이스이다.자바의 람다 표현식은 함수형 인터페이스로만 사용 가능하다. 만들어진 이유자주 사용할 것 같은 람다 함수 형태를 함수형 인터페이스 표준 API 로 미리 만들어제공해주기 위해서 만들어졌다. @FunctionalInterface함수형 인터페이스는 @FunctionalInterface 라는 어노테이션을 사용한다.이 어노테이션은 해당 인터페이스가 함수형 인터페이스 조건에 맞는지 검사해준다.해당 어노테이션은 없..
자바 8 표준 API의 함수형 인터페이스(Supplier, Consumer)Java 8 표준 API 의 함수형 인터페이스(Supplier, Consumer)함수형 인터페이스란 1개의 추상 메소드를 갖는 인터페이스를 말한다.Java8 부턴 default 라는 키워드가 생겨 구현되어 있는 메서드가 있으나여러개의 디폴트 메서드가 있더라도 추상 메서드가 오직 한개라면 함수형 인터페이스이다.자바의 람다 표현식은 함수형 인터페이스로만 사용 가능하다. 만들어진 이유자주 사용할 것 같은 람다 함수 형태를 함수형 인터페이스 표준 API 로 미리 만들어제공해주기 위해서 만들어졌다. @FunctionalInterface함수형 인터페이스는 @FunctionalInterface 라는 어노테이션을 사용한다.이 어노테이션은 해당 인터페이스가 함수형 인터페이스 조건에 맞는지 검사해준다.해당 어노테이션은 없..
2025.01.07 -
Mybatis 를 사용하여 List 데이터를 Insert 하는 방법이다. 데이터는 아래와 같이 List 형 Map 을 사용했다.[ {role_id=O0100, right_name=기관관리자, site_code=101}, {role_id=S9900, right_name=시스템관리자, site_code=101}, {role_id=M0100, right_name=통합운영관리자, site_code=101}] SELECT MAX(right_seq)+1 FROM m_right INSERT INTO m_right(right_seq, right_name, right_desc, site_code, role_id) VALUES ( ..
Mybatis foreach, selectkey, Auto Increment 구현Mybatis 를 사용하여 List 데이터를 Insert 하는 방법이다. 데이터는 아래와 같이 List 형 Map 을 사용했다.[ {role_id=O0100, right_name=기관관리자, site_code=101}, {role_id=S9900, right_name=시스템관리자, site_code=101}, {role_id=M0100, right_name=통합운영관리자, site_code=101}] SELECT MAX(right_seq)+1 FROM m_right INSERT INTO m_right(right_seq, right_name, right_desc, site_code, role_id) VALUES ( ..
2024.09.02 -
Spring Security 의 Filter 들은 Spring Container 에서 Spring Bean 으로 등록되어 있다.하지만 Filter 들은 Servlet Container 에서 동작하는걸로 알고 있지만Spring Container 와 Servlet Container 는 영역 자체가 다르기 때문에 어떻게 실행되는지 궁금해서정리하게 됐다. 위 이미지처럼 Servlet Container 와 Spring Container 는 영역 자체가 다르며, Filter 는 서블릿이 제공하는 기술이다.Spring Bean 으로 등록되어 있는 Filter 들은 DelegatingFilterProxy 라는 클래스를 통해Spring Bean Filter 들을 실행시킨다. DelegatingFilterProxy ..
Spring Security Filter ChainSpring Security 의 Filter 들은 Spring Container 에서 Spring Bean 으로 등록되어 있다.하지만 Filter 들은 Servlet Container 에서 동작하는걸로 알고 있지만Spring Container 와 Servlet Container 는 영역 자체가 다르기 때문에 어떻게 실행되는지 궁금해서정리하게 됐다. 위 이미지처럼 Servlet Container 와 Spring Container 는 영역 자체가 다르며, Filter 는 서블릿이 제공하는 기술이다.Spring Bean 으로 등록되어 있는 Filter 들은 DelegatingFilterProxy 라는 클래스를 통해Spring Bean Filter 들을 실행시킨다. DelegatingFilterProxy ..
2024.06.17 -
Array(배열) 과 ArrayList 의 차이가 궁금해져 정리하게 되었다. Array(배열)ArrayList사이즈초기화 할때 명시하여 고정시킨다.String[] arr = new String[3];초기화 시 사이즈를 명시하지 않는다.크기가 가변적이며 Default 크기는 10이다.ArrayList arr_list = new ArrayList();속도초기화 시 메모리에 할당하므로ArrayList 보다 빠르다.데이터 추가 및 삭제 시 메모리를 재할당하기 때문에속도가 Array 보다 느리다.크기 변경사이즈 변경 불가추가, 삭제 가능add(), remove() 아래 예시를 보자String[] arr = new String[3];ArrayList arr_list = new ArrayList();System...
Array(배열) 과 ArrayList 차이Array(배열) 과 ArrayList 의 차이가 궁금해져 정리하게 되었다. Array(배열)ArrayList사이즈초기화 할때 명시하여 고정시킨다.String[] arr = new String[3];초기화 시 사이즈를 명시하지 않는다.크기가 가변적이며 Default 크기는 10이다.ArrayList arr_list = new ArrayList();속도초기화 시 메모리에 할당하므로ArrayList 보다 빠르다.데이터 추가 및 삭제 시 메모리를 재할당하기 때문에속도가 Array 보다 느리다.크기 변경사이즈 변경 불가추가, 삭제 가능add(), remove() 아래 예시를 보자String[] arr = new String[3];ArrayList arr_list = new ArrayList();System...
2024.05.29 -
Java 는 많은 양의 데이터를 처리 하기 위해서 배열, 컬렉션 등을 이용합니다.저장된 배열, 컬렉션들은 반복문(for), 반복자(Iterator) 를 사용하여 데이터 형식에 맞게새로운 코드를 작성했다.하지만 이러한 반복문, 반복자를 이용한 코드는 가독성과 재사용성 그리고 반복되는 코드들이너무 많았다.또한 Collection 이나 Iterator 와 같은 인터페이스의 각 컬렉션 클래스들은 같은 기능이지만중복해서 정의되어 있다. 아래 코드를 보면 Collection 과 Arrays 의 sort 함수이다.List arr = new ArrayList();arr.add("banana");arr.add("apple");arr.add("melon");String[] arr2 = { "apple", "melon", ..
Stream(스트림)이란?Java 는 많은 양의 데이터를 처리 하기 위해서 배열, 컬렉션 등을 이용합니다.저장된 배열, 컬렉션들은 반복문(for), 반복자(Iterator) 를 사용하여 데이터 형식에 맞게새로운 코드를 작성했다.하지만 이러한 반복문, 반복자를 이용한 코드는 가독성과 재사용성 그리고 반복되는 코드들이너무 많았다.또한 Collection 이나 Iterator 와 같은 인터페이스의 각 컬렉션 클래스들은 같은 기능이지만중복해서 정의되어 있다. 아래 코드를 보면 Collection 과 Arrays 의 sort 함수이다.List arr = new ArrayList();arr.add("banana");arr.add("apple");arr.add("melon");String[] arr2 = { "apple", "melon", ..
2024.05.24 -
자바 데이터 타입 Java 의 데이터 타입은 크게 두가지로 기본 타입과 참조 타입으로 분류된다. 기본 타입(Primitive Type) : byte, int, short, char, long, float, double, boolean 참조 타입(Reference Type) : 배열 타입, 문자열, 열거 타입, 클래스, 인터페이스 기본 타입(Primitive Type) 기본 타입으로 선언된 변수들은 실제 값이 변수에 저장된다. 기본 타입의 종류로는 byte, int, short, char, long, float, double, boolean 등이 있다. int obo = 20; char obo2 = "a"; 참조 타입(Reference Type) 참조 타입으로 선언된 변수들은 메모리의 주소를 값으로 갖는다..
Java 데이터 타입(기본 타입, 참조 타입)자바 데이터 타입 Java 의 데이터 타입은 크게 두가지로 기본 타입과 참조 타입으로 분류된다. 기본 타입(Primitive Type) : byte, int, short, char, long, float, double, boolean 참조 타입(Reference Type) : 배열 타입, 문자열, 열거 타입, 클래스, 인터페이스 기본 타입(Primitive Type) 기본 타입으로 선언된 변수들은 실제 값이 변수에 저장된다. 기본 타입의 종류로는 byte, int, short, char, long, float, double, boolean 등이 있다. int obo = 20; char obo2 = "a"; 참조 타입(Reference Type) 참조 타입으로 선언된 변수들은 메모리의 주소를 값으로 갖는다..
2024.02.14