Java/Spring
-
MyBatis 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 사용할 수 있도록 도와주는 프레임워크 JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복작업을 제거 한다. 또한 프로그램 코드와 SQL 문을 분리할 수 있다. MyBatis DB 접근 구조 MyBatis 구성요소 요소 설명 MyBatis Configuration File DB 접속 정보 및 Mapper 파일의 경로 등 환경정보를 설정하는 파일 SqlSessionFactoryBuilder SqlSessionFactory를 생성하는 Builder SqlSessionFactory SqlSession 을 생성하기 위한 구성요소 - MyBa..
MyBatisMyBatis 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 사용할 수 있도록 도와주는 프레임워크 JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복작업을 제거 한다. 또한 프로그램 코드와 SQL 문을 분리할 수 있다. MyBatis DB 접근 구조 MyBatis 구성요소 요소 설명 MyBatis Configuration File DB 접속 정보 및 Mapper 파일의 경로 등 환경정보를 설정하는 파일 SqlSessionFactoryBuilder SqlSessionFactory를 생성하는 Builder SqlSessionFactory SqlSession 을 생성하기 위한 구성요소 - MyBa..
2021.12.27 -
DBCP(DataBase Connection Pool) wait_timeout 에러 관련한 org.springframework.dao.RecoverableDataAccessException 에러 ### Error querying database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet successfully received from the server was 7,625,858 milliseconds ago. The last packet sent successfully to the server was 7,625,864 milliseconds ago. ### T..
org.springframework.dao.RecoverableDataAccessException 에러DBCP(DataBase Connection Pool) wait_timeout 에러 관련한 org.springframework.dao.RecoverableDataAccessException 에러 ### Error querying database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet successfully received from the server was 7,625,858 milliseconds ago. The last packet sent successfully to the server was 7,625,864 milliseconds ago. ### T..
2021.12.22 -
오버로딩(Overloading) 같은 이름의 메서드를 여러개 생성하지만 매개변수의 개수 또는 매개변수의 타입이 다르면 정의할 수 있다. class OverloadingTest { public static void main(String[] args){ OverloadingTestMethod otm = new OverloadingTestMethod(); otm.print("오버로딩 테스트"); System.out.println(otm.print(3)); otm.print("오버로딩 테스트", 4); } } class OverloadingTestMethod { void print(String a){ System.out.println("문자열 오버로딩"); } String print(int a){ System...
오버로딩(Overloading), 오버라이딩(Overriding)오버로딩(Overloading) 같은 이름의 메서드를 여러개 생성하지만 매개변수의 개수 또는 매개변수의 타입이 다르면 정의할 수 있다. class OverloadingTest { public static void main(String[] args){ OverloadingTestMethod otm = new OverloadingTestMethod(); otm.print("오버로딩 테스트"); System.out.println(otm.print(3)); otm.print("오버로딩 테스트", 4); } } class OverloadingTestMethod { void print(String a){ System.out.println("문자열 오버로딩"); } String print(int a){ System...
2021.12.06 -
BOM(Byte Order Mark) BOM 이란 문서의 맨 앞부분에 눈에 보이지 않는 특정 바이트(Byte)를 넣은 다음 해당 문서의 인코딩 방식이 어떠한 인코딩 방식으로 사용되었는지 알아내는 방법을 나타낸다. BOM은 텍스트 에디터 화면에서는 보이지 않고, 헥사 에디터(Hex Editor)로 열었을때만 보인다. BOM의 종류 인코딩 방식 BOM(Byte Order Mark) UTF-8 EF BB BF UTF-16 Big Endian FE FF UTF-16 Little Endian FF FE UTF-32 Big Endian 00 00 FE FF UTF-32 Little Endian FF FE 00 00 Java 로 예를 들면 간단한 csv 파일을 만들때 text가 깨지는 경우가 있다. 이때 사용한다. ..
바이트 순서 표시(BOM, Byte Order Mark)BOM(Byte Order Mark) BOM 이란 문서의 맨 앞부분에 눈에 보이지 않는 특정 바이트(Byte)를 넣은 다음 해당 문서의 인코딩 방식이 어떠한 인코딩 방식으로 사용되었는지 알아내는 방법을 나타낸다. BOM은 텍스트 에디터 화면에서는 보이지 않고, 헥사 에디터(Hex Editor)로 열었을때만 보인다. BOM의 종류 인코딩 방식 BOM(Byte Order Mark) UTF-8 EF BB BF UTF-16 Big Endian FE FF UTF-16 Little Endian FF FE UTF-32 Big Endian 00 00 FE FF UTF-32 Little Endian FF FE 00 00 Java 로 예를 들면 간단한 csv 파일을 만들때 text가 깨지는 경우가 있다. 이때 사용한다. ..
2021.12.02 -
RSA 암호화 공개키 암호시스템 중 한개, 암호화 뿐만 아니라 전자서명도 가능한 최초의 알고리즘으로 알려진다. RSA는 두개의 키를 사용한다. 공개키와 개인키를 사용하는데 공개키는 평문을 암호화 하는데 사용하고 개인키는 암호화한 데이터를 복호화할때 사용한다. 이를 비대칭키라고 하며 누구나 어떤 메시지를 암호화 할수 있지만 암호화한 데이터는 개인키를 가지고 있는 사람만 복호화 할 수 있다. 일반적으로 공개키는 n 과 e 값으로 구성되어 있습니다. n 값은 Modulus 이며 e 값은 Public exponent 값입니다. 개인키는 기본적으로 n, e, d, p, q, exponent1, exponent2, coefficient 값을 갖습니다. 여기서 가장 필요한 값은 d 입니다. 개인키의 각 값은 공개키의..
RSA 암호화 만들기RSA 암호화 공개키 암호시스템 중 한개, 암호화 뿐만 아니라 전자서명도 가능한 최초의 알고리즘으로 알려진다. RSA는 두개의 키를 사용한다. 공개키와 개인키를 사용하는데 공개키는 평문을 암호화 하는데 사용하고 개인키는 암호화한 데이터를 복호화할때 사용한다. 이를 비대칭키라고 하며 누구나 어떤 메시지를 암호화 할수 있지만 암호화한 데이터는 개인키를 가지고 있는 사람만 복호화 할 수 있다. 일반적으로 공개키는 n 과 e 값으로 구성되어 있습니다. n 값은 Modulus 이며 e 값은 Public exponent 값입니다. 개인키는 기본적으로 n, e, d, p, q, exponent1, exponent2, coefficient 값을 갖습니다. 여기서 가장 필요한 값은 d 입니다. 개인키의 각 값은 공개키의..
2021.10.20 -
스프링 빈(Spring Bean)Spring IOC 컨테이너가 관리하는 자바 객체를 빈이라고 부른다. 이전 글에서 제어의 역전(IOC, Inversion Of Control)에 대해 알아봤는데 간단하게 설명하겠습니다.예전의 자바 프로그래밍에서는 Class를 생성하고 new 키워드를 이용하여 객체를 생성한 후 사용했습니다.하지만 Spring에서는 직접 new 키워드를 이용하여 객체를 생성하는게 아닌 Spring에 의하여 관리당하는 자바 객체를 사용한다. 이렇게 Spring에 의해 생성되고 관리되는 자바 객체를 Bean이라고 한다. * 제어의 역전(IOC, Inversion Of Control)일반적으로 에전 자바 프로그래밍에서는 객체들이 프로그램의 흐름을 결정하고, 각 객체를 직접 사용자가 생성하고 조작..
스프링 빈(Spring Bean)이란?스프링 빈(Spring Bean)Spring IOC 컨테이너가 관리하는 자바 객체를 빈이라고 부른다. 이전 글에서 제어의 역전(IOC, Inversion Of Control)에 대해 알아봤는데 간단하게 설명하겠습니다.예전의 자바 프로그래밍에서는 Class를 생성하고 new 키워드를 이용하여 객체를 생성한 후 사용했습니다.하지만 Spring에서는 직접 new 키워드를 이용하여 객체를 생성하는게 아닌 Spring에 의하여 관리당하는 자바 객체를 사용한다. 이렇게 Spring에 의해 생성되고 관리되는 자바 객체를 Bean이라고 한다. * 제어의 역전(IOC, Inversion Of Control)일반적으로 에전 자바 프로그래밍에서는 객체들이 프로그램의 흐름을 결정하고, 각 객체를 직접 사용자가 생성하고 조작..
2021.10.18