본문 바로가기

Java

Java Reflection 사용하기 (3) 이 문서는 Oracle Technology Network에 포스팅되었던 Using Java Reflection을 참고하여 작성되었습니다. 원문은 아래의 링크에서 확인하실 수 있습니다. Using Java Reflectionhttps://www.oracle.com/technetwork/articles/java/javareflection-1536171.html Class에서 정의된 함수 확인reflection을 사용하는 여러 방법들 중에서도 가장 기본적인 기능은 class에서 정의한 함수들을 확인할 수 있다는 것입니다. 구체적인 구현 내용은 아래와 같습니다. import java.lang.reflect.*; public class method1 { private int f1(Object p, int x) t..
Java Reflection 사용하기 (2) 이 문서는 Oracle Technology Network에 포스팅되었던 Using Java Reflection을 참고하여 작성되었습니다. 원문은 아래의 링크에서 확인하실 수 있습니다. Using Java Reflectionhttps://www.oracle.com/technetwork/articles/java/javareflection-1536171.html Reflection을 사용하기 위한 세팅앞서 사용한 Method와 같은 reflection class는 java.lang.reflect 패키지에 포함되어 있다. reflect class 들을 사용하기 위해서는 세 단계를 거쳐야한다. 첫번째 단계는 조작하고자 하는 java.lang.Class 객체를 가져오는 것입니다. java.lang.Class는 Ja..
Java Reflection 사용하기 (1) 이 문서는 Oracle Technology Network에 포스팅되었던 Using Java Reflection을 참고하여 작성되었습니다. 원문은 아래의 링크에서 확인하실 수 있습니다. Using Java Reflectionhttps://www.oracle.com/technetwork/articles/java/javareflection-1536171.html Reflection은 Java 언어의 특징적인 기능이라고 할 수 있습니다. Reflection을 이용하면 작성된 Java 프로그램에 대한 검사가 가능해지며, 프로그램에 대한 자체적인 검사도 가능해집니다. 예를 들어 Java class를 구성하고 있는 모든 member에 대한 확인이 가능해집니다. Java class에 직접적인 접근으로 프로그램을 검사하..
Autoboxing과 AutoUnboxing Java의 경우 기본형(Primitive types) 데이터를 직접 자료구조에 저장하지 못하는 경우, 기본형 데이터를 감싸주는 객체로 다뤄야하는 경우가 생긴다. 대표적으로 Java Collections(List, Set, Map 등)의 자료구조를 들 수 있으며, 해당 자료구조는 int, long, double 타입 등의 기본형 자료를 직접 다룰 수 없다. 이경우 직접 사용자가 기본형을 감싸주는 wrapper class 를 구현하여 사용해도 되겠지만, 일반적으로 Java에서 지원하는 Integer, Long, Double 등의 class를 사용하는 것이 편리하다. 이 클래스들은 일반적으로 생성자 함수에 데이터를 넣고, -value 함수를 이용하여 데이터를 꺼내오게 되는데 이를 Boxing, Unboxing..
Spring 프로젝트 생성시 maven CoreException issue Spring 프로젝트를 Eclipse를 이용하여 생성하는 경우 아래와 같은 메시지가 뜨면서 pom.xml에 빨간 줄이가고 error가 발생하는 경우가 있다. Description Resource Path Location Type CoreException: Could not get the value for parameter compilerId for plugin execution default-compile: PluginResolutionException: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.7.0 or one of its dependencies could not be resolved: The following artifacts could n..
Properties Class 사용 프로그램에서 사용하는 Property들을 효율적으로 관리하기 위해서 Property 파일을 따로 만들어서 관리하는 경우, Properties Class를 사용하면 편리하게 정보를 불러올 수 있다. property 파일은 내부적으로 key=value의 형식으로 저장되어 있어야하며, #이 앞에 붙어있는 값인 경우는 주석처리되어 로드되지 않는다. 로드된 정보는 getProperty 함수를 이용하여 가져올 수 있고 값이 없었던 경우라면 null로 반환된다. 만일 default 값을 주고 싶으면 getProperty(key, defaultValue) 형식으로 처리하면 된다. import java.io.FileInputStream; import java.io.FileNotFoundException; import j..
Java xml parser import java.io.IOException; import java.util.logging.Logger; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class XMLParser { private static final String URL = "query.xml"; private static fi..
SHA256 encoding import java.security.MessageDigest;import java.security.NoSuchAlgorithmException; public class SHA256 { final static String ALGORITHM = "SHA-256"; public String encode(byte[] param) { MessageDigest md; String endcodedData = null; try { md = MessageDigest.getInstance(ALGORITHM); byte[] hash = md.digest(param); StringBuffer hexString = new StringBuffer(); for (int i = 0; i < hash.length; i++) { St..