java 3

[JAVA] AES128로 암복호화 코드 작성하기

개발을 할 때보면 파라미터를 숨겨야 할 때가 있다. 이때 유용하게 사용한 Base64와 AES128가 있다. AES128 암복호화 코드 public class Aes128 { private static final Charset ENCODING_TYPE = StandardCharsets.UTF_8; private static final String INSTANCE_TYPE = "AES/ECB/PKCS5Padding"; private SecretKeySpec secretKeySpec; private Cipher cipher; public Aes128(final String key) { try { byte[] keyBytes = key.getBytes(ENCODING_TYPE); secretKeySpec = ..

[검색엔진] Elasticsearch와 Spring 연동하기

엘라스틱 서치를 스프링과 연동하는 방법 1. 스프링에서 지원하는 Spring-data-elasticsearch 모듈을 다운받아 elasticsearchRepository 인터페이스를 이용하는 법 2. 스프링에서 지원하는 Spring-data-elasticsearch 모듈을 다운받아 elasticsearchTemplate 객체를 이용하는 법 3. ES에서 지원하는 Low level REST Client 모듈을 다운받아 RestClient 클래스를 사용하는 법 4. ES에서 지원하는 High level REST Client 모듈을 다운받아 HighLevelRestClient 클래스를 사용하는 법 - 내가 사용한 방법. High Level Rest Client 특징 High level REST Client 는..

[MVC, MyBatis] VO&DTO와 Map

교육 받을 때는 데이터 객체를 DTO로 관리했는데, 업무중 VO와 Map으로 데이터를 관리하는걸 알게되었다. 정확한 개념을 정리하고자한다. Java Beans 일반적으로 자바빈은 속성과 그 속성에 대한 getter, setter 메서드로 구성된 객체(VO)를 말하며 데이터 전송에 사용되는 객체이다. 자바로 작성된 재사용이 가능한 소프트웨어컴포넌트 -> getter, setter 메서드를 통해 컴포넌트에 접근 가능하다. VO(Value Object) 데이터 그 자체로 의미있는 것을 담고있는 객체 DTO와 동일한 개념이긴하나 차이점은 Read-Only** 속성 객체이다. 값을 위해 사용하는 오브젝트로써, 값 표현을 위한 불변의 클래스. VO의 경우 생성자를 통해 지정된 값은 변경될수 없도록 setter가 없..