본문 바로가기

JAVA

(17)
[JAVA] 올바른 Equals & HashCode 만들기 JPA를 사용할 때 같은 객체인지 또는 다른 객체인지 구분을 위해 Entity 안에 eqauls & hashCode가 꼭 필요하다고 한다. 이러한 equals & hashCode를 잘못 사용하면 무용지물이 되는데 그러하기에 올바른 사용법을 알아보자! 스크랩 : http://kwonnam.pe.kr/wiki/java/equals_hashcode
[Lombok] 자주 사용되는 Lombok 기본 개념 익히기 '청전지향'님 웹서버 구축하기를 따라하다가 Lombok을 처음 접하게 되었다. 처음이라 기본개념이 부족한 거 같아서, 좀더 자세하게 'Lombok'을 배워보려 한다. 접근자/설정자 자동 생성 제일 먼저 살펴볼 어노테이션은 @Getter와 @Setter 입니다. 아마 Lombok에서 가장 많이 사용되는 어노테이션일 텐데요. 예를 들어, xxx라는 필드에 선언하면 자동으로 getXxx()(boolean 타입인 경우, isXxx())와 setXxx() 메소드를 생성해줍니다. 12 @Getter @Setterprivate String name; 위와 같이 특정 필드에 어노테이션을 붙여주면, 다음과 같이 자동으로 생성된 접근자와 설정자 메소드를 사용할 수 있어서 매우 편리합니다. 12 user.setName("홍..
[JAVA]생성자의 매개변수가 많을 때 - 빌더(builder) + 텔리스코핑 생성자 & 자바빈즈(JavaBeans) 패턴 구분 '창천지향' 님 글 중(http://jojoldu.tistory.com/251)에서 new Example(b,a)처럼 a와 b의 위치를 변경 해도 실제로 코드를 실행하기전까진 전혀 문제를 찾을수가 없다고 한다. 이는 lombok의 @Builder를 사용해서 보완이 가능하다. 이때 @Builder annotation에는 Builder 패턴이 적용되는데 Builder 패턴은 무엇일까?. 빌더(builder) + 텔리스코핑 생성자 & 자바빈즈(JavaBeans) 패턴을 알아보자 스크랩 : http://using.tistory.com/71
[Java] Collections의 차이(List, Set, Map) Java Collection Framework (JCF) : Java에서 데이터를 저장하는 기본적인 자료구조들을 한 곳에 모아 관리하고 편하게 사용하기 위해서 제공하는 것을 의미한다. 다음은 JCF의 상속 구조이며 사용 용도에 따라 List, Set, Map 3가지로 요약할 수 있다. ■ 각 인터페이스의 특징 인터페이스 구현 클래스 특징 List LinkedList Stack Vector ArrayList 순서가 있는 데이터의 집합, 데이터의 중복을 허용한다. Set HashSet TreeSet 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다. Map HashMap TreeMap HashTable Properties 키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합이다...
HTML 특수문자 변환 1. &amp 에서 & 형태로 변환 public static String toTEXT(String str) { if(str == null) return null; String returnStr = str; returnStr = returnStr.replaceAll(" ", "\n"); returnStr = returnStr.replaceAll(">", ">"); returnStr = returnStr.replaceAll("<", "
String==null 과 String.isEmpty() 의 차이 http://salguru.tistory.com/30
클래스에 Serializable을 구현하는 이유(class implements Serializable) 질문: 자바책에는 객체를 파일에 저장하거나 파일에서 꺼내오기 위해서 또는 객체를 네트워크를 통해 전송하기 위해서는 미리 객체를 직렬화해야한다고 되어 있네요. 웹 어플 소스 분석하다보면 서비스 객체나 컨트롤러 객체는 직렬화하지 않는데 도메인 객체(DB에서 읽어온 내용을 담는 객체)는 꼭 implement serializable로 직렬화 하는데 이유가 궁긍합니다. 답변1: 간단하게 이야기 드리면 서버가 다중화(여러개존재) 되어 있고 세션 클러스터링을 통해 세션관리를 하는 환경에서 도메인 객체가 세션에 저장이 될때 도메인 객체에 Serializable 인터페이스 클래스를 구현하기(implements) 해야지 정상적으로 세션에 저장하고 꺼내올수 있기 때문입니다. 도메인 객체가 세션에 저장하지 않는 단순한 데이터..
lombok의 개념 및 활용 java 개발자에 있어 lombok은 아주 좋은 라이브러리이다. 어노테이션 하나로 자동으로 바이트코드를 만들어주니 더 할 것이 없는 라이브러리이다. 다른 언어들은 언어 자체에서 지원해주긴 하지만.. 필자도 아주아주 잘 쓰지는 못하지만 필자가 아는 것만큼 포스팅을 해보자! @Data lombok을 사용한다면 제일 많이 사용하는 어노테이션이다. 이 어노테이션은 다재다능한 기능이다. 사용하는 사람은 알겠지만 getter, setter, toString, hasCode, equals, constructor 등 많은 부분을 자동으로 생성해준다. 각각 부분적으로는 밑에서 설명하도록 하겠다. @Data 어노테이션에는 속성이 한개 있는데 staticConstructor 라는 속성이다. 말그대로 static한 생성자? ..