백엔드/Java86 Effective Java 맛보기 1탄 객체 생성과 파괴 생성자 대신 정적 팩토리 메서드를 고려하라. 정적 팩토리 메서드와 public 생성자는 각자의 쓰임새가 있으니 상대적인 장단점을 이해하고 사용하는 것이 좋다. 그렇다고 하더라도 적정 팩토리를 사용하는 게 유리한 경우가 더 많으므로 무작정 public 생성자를 제동하던 습관이 있다면 고치자. 생성자에 매개변수가 많다면 빌더를 고려하라. 생성자나 정적 팩토리가 처리해야 할 매개변수가 많다면 빌더 패턴을 선택하는 게 더 낫다, 매개변수 중 다수가 필수가 아니거나 같은 타입이면 특히 더 그렇다. 빌더는 점층적 생성자보다 클라이언트 코드를 읽고 쓰기가 휠씬 간결하고, 자바빈즈보다 휠씬 안전하다. private 생성자나 열거 타입으로 싱글턴임을 보증하라. 인스턴스화를 막으려거든 private 생성.. 2019. 9. 14. Spring Data Redis - Jedis vs Lettuce Lettuce is a Netty-based open-source connector supported by Spring Data Redis through the org.springframework.data.redis.connection.lettuce package. The following example shows how to create a new Lettuce connection factory: There are also a few Lettuce-specific connection parameters that can be tweaked. By default, all LettuceConnection instances created by the LettuceConnectionFactory share th.. 2019. 8. 18. 리팩토링 맛보기 1탄 리팩토링의 정의 리팩토링( refactoring) 이란 외부에서 보는 프로그램 동작은 바꾸지 않고, 프로그램 내부 구조를 개선하는것이다 리팩토링을 해도 외부에서 보는 프로그램 동작은 변하지 않는다 리팩토링하면 프로그램의 내부 구조가 개선된다. 리팩토링의 목적 버그 수정과 기능 추가는 리팩토링이 아니다. 버그를 발견하기 쉽게 만든다. 버그 수정자체는 리팩토링이 아니다. 하지만 리팩토링을 하면 프로그램이 정리되어 숨은 버그를 찾기 쉬워진다. 기능을 추가하기 쉽게 만든다. 리팩토링을 하면 망가지고 더러운 코드를 다시 정비해서 깨끗하게 만들수 있다. 리뷰하기 쉽게 만든다. 리팩토링으로 깔끔해진 코드는 읽기 쉽고 이해하기 좋다. 리팩토링의 한계 리팩토링이 불가능할때도 있다. 프로그램이 아직 동작하지 않을때 리팩토.. 2019. 8. 11. JUnit 4.5 에러 에러코드 java.lang.NoClassDefFoundError: org/junit/Assume$AssumptionViolatedException java.lang.NoSuchMethodError: org.junit.runner.notification.RunNotifier.testAborted(Lorg/junit/runner/Description;Ljava/lang/Throwable;)V 원 인 : Spring 2.5.x 에서 JUnit 4.5 사용시 에러 발생. 해결법 : 3.8 or 4.4 버전을 사용하면 해결됨. 2019. 3. 13. Spring @Autowired 사용시 주의점 @Autowired 사용시 동일한 타입의 Bean 객체를 2개 이상일때 Injection of autowired dependencies failed 에러 발생하게 됩니다. 원인 : expected single matching bean but found 2: 해결방법 : @Autowired 사용시에는 동일한 타입을 Bean 객체를 2개사용하지 말것. (@Autowired 로 명시해준 클래스의 동일한 클래스를 XML 설정파일에 bean 으로 설정하지 말것.) 만약, 동일한 클래스를 2개 이상 설정해줘야 한다면, 예) bean id가 main 일 경우 @Qualifier("main") 를 함께 사용하여 이름을 지정하거나, @Resource(name = "main") 를 이용하여 이름을 지정한다. 참고 URL .. 2019. 3. 11. 이전 1 ··· 12 13 14 15 16 17 18 다음 728x90