Java Gson pom.xml 에 dependency 추가 pom.xml 내용 com.google.code.gson gson 1. Java object to json Value Object Class @Data public class TestValue { public String name; public int age; } Gson 을 이용해 Object to Json string convert ObjectMapper objectMapper = new ObjectMapper(); TestValue testValue = new TestValue(); testValue.setAge(30); testValue.setName("name"); Gson gson = new Gson(); // Java Object ..
Java Jackson ObjectMapper 1. pom.xml 에 dependency 추가 xml 내용 com.fasterxml.jackson.core jackson-databind ${jackson.version} 2. Java object to json Serialize Value Object Class @Data public class TestValue { public String name; public int age; } ObjectMapper를 이용해 Object to Json ObjectMapper objectMapper = new ObjectMapper(); TestValue testValue = new TestValue(); testValue.setAge(30); testValue.se..
AOP란? AOP(Aspect Oriented Programming) spring boot application 전체에걸쳐서 사용되는 기능을 재사용. 핵심기능과 공통기능(Logging, Scheduler 등..) 을 분리시키는 방식1. Aspect 분리할 부가적인 공통 기능을 모듈화2. Advice Aspect의 구현체3. JointPoint Advice를 적용할 부분 @Before Method 실행 전에 동작 @After Mothod 실행 후 동작 @Around Method 실행 전 후 동작 @AfterReturning Method 실행 후 동작(Method 반환값 반환) @AfterThrowing 예외가 발생했을 때 동작4. Pointcut 실제로 Advice가 적용되는 부분(JointPoint의 상..
Ubuntu(16.04) 시스템 리소스 모니터링(ganglia) 설치 1. 마스터노드 설치 sudo apt-get install -y ganglia-monitor gmetad ganglia-webfrontend rrdtool_1.4.7-1_amd64.deb 파일 다운로드 : https://launchpad.net/ubuntu/precise/amd64/rrdtool/1.4.7-1 sudo dpkg -i rrdtool_1.4.7-1_amd64.deb 2. 마스터노드 환경설정 sudo cp /etc/ganglia-webfrontend/apache.conf /etc/apache2/sites-enabled/ganglia.conf sudo vi etc/ganglia/gmetad.conf data_source "my..
String, Stringbuilder, Stringbuffer 차이 1. String String은 immutable Object이다 String literal로 생성하게되면, Heap영역내의 String Constant Pool에 저장되어 재사용된다. 2. StringBuffer / StringBuilder 문자열의 추가, 삭제, 수정이 빈번하게 발생해야할 경우에 사용 StringBuffer, StringBuilder의 경우에는 append, delete와같은 API를 이용하여 객체 내의 문자열을 변경하는것이 가능해진다. 3 StringBuffer와 StringBuilder 차이 StringBuffer는 Thread-Safe하다는 점에서 StringBuilder와 가장 큰 차이를 가진다. 단일스레드에..
JPA Auditing JPA Auditing으로 생성시간, 수정시간 자동화 pom.xml에 dependency 추가 org.hibernate hibernate-core 5.2.11.Final BaseTimeEntity 클래스 생성 public class BaseTimeEntity { @CreatedDate private LocalDateTime createDate; @LastModifiedDate private LocalDateTime monidiedDate; } 다른 클래스에서 BaseTimeEntity를 상속받아서 createdDate, modifiedDate 관리.
Static Field를 @value로 받아오는 방법 Spring 에서 static으로 선언된 변수에는 injection할 수 없다. static 변수는 null을 반환 static이 아닌 setter메소드를 추가해서 직접 값을 넣는방법으로 사용하면 됨 public static String testField; @Value("${app.testField}") public void setTestField(String testField) { this.testField= testField; }
Environment를 이용한 외부 설정 주입 @value 어노테이션으로 외부 설정 주입이 가능하지만, Environment로 주입하는 테스트 진행 pom.xml 파일 내용의 일부 ......... xxx .... 1.0.0 application.yml 파일 내용 project: version: @project.version@ pom.xml 의 project version을 가져오는 yml 설정파일 Environment를 이용해 외부 설정 주입 @Autowired public Environment env; ..... System.out.println(env.getProperty("project.version")) pom.xml에서 설정했던 1.0.0의 version 값이 정상적으로 출력
Map Map 생성 Map map = new HashMap(); map 에 key, value 입력 map.put("key1", "value1"); map.put("key2", "value2"); 생성할 때 선언한 type에 맞게 key, value put map의 모든 key 반환(Set) map.keySet(); map 에 있는 모든 key를 가져온다 map의 모든 value 반환 map.values(); map에 있는 모든 value를 가져온다 특정 key에 대한 value 반환 map.get("key1"); value 값 변경 map.replace("key1", "value001"); key1에 대한 value가 value1에서 value001로 변경 map의 key/value 존재 여부 확인 m..