반응형

전체 글 199

[자바JAVA] 제네릭(generic)_와일드카드

제네릭(generic) 데이터의 타입을 일반화한다는 의미 클래스나 메서드에서 사용할 내부 데이터 타입을 컴파일 시에 지정하는 방법 제네릭을 이용하면 instanceof 비료 및 다운 캐스팅을 하지 않아도 됨. 1 . 제네릭 설정 - 다이아몬드 연산자 이용 - 관례상 대문자로 작성 - - 타입 변수를 자료형 대신 사용, 가상으로 존재 - 여러 개의 타입 변수를 작성도 가능 - 컴파일 시점에서 타입 결정됨. public class GenericTest { private T value; getter, setter 작성 시에도 구체적인 타입 대신 T 사용 가능 public void setValue(T value) { this.value = value; } public T getValue() { return va..

[자바 / Java] Wrapper 클래스(Auto Boxing과 Auto UnBoxing)

Wrapper 클래스 : 8가지에 해당하는 기본 타입의 데이터를 객체화 할 수 있도록 하는 클래스 Primitive Data Type Wrapper Class boolean Boolean byte Byte char Character short Short int Integer long Long float Float double Double Boxing : 기본 타입을 레퍼클래스의 객체로 객체화 하는 것 UnBoxing : 래퍼클래스 타입의 객체를 기본 타입으로 변경하는 것 int intValue = 20; 박싱 - 생성자 이용 Integer boxingNumber1 = new Integer(intValue); =>int값 기본자료형을 Integer라는 생성자 쪽에다가 인자로 전달하면 Integer타입의 객..

[자바 / Java] StringBuilder의 자주 사용되는 메소드

String 과 StringBuilder 차이 String : 불변 +연산으로 합치기 문자열에 합치기하는 경우 새로운 인스턴스를 반환 문자열 변경이 자주 일어나느 경우 성능 면에서 좋지 않음 변하지 않는 문자열을 자주 읽어 들이는 경우에는 성능이 좋음 StringBuilder : 가변 oppend() 메소드로 합치기 기존 인스턴스를 수정(새로운 객체생성x) 잦은 문자열 변경이 일어나는 경우 String 보다 성능이 좋음 StringBuilder의 자주 사용되는 메소드 capacity() : 용량(현재 버퍼의 크기)을 정수형으로 반환하는 메소드 16이 기본 용량 append() : 인자로 전달 된 값을 문자열로 변환 후 기존 문자열의 마지막에 추가 기본 용량을 초과하는 경우 (기존 문자열 + 1 ) * 2..

[자바 / Java] 이스케이프 문자 사용

이스케이프 문자 : 특수문자나 특수한 기능을 표현하는 문자 이스케이프 문자 사용 개행 문자 : \n System.out.println("안녕하세요.\n저는 홍길동입니다."); 탭 문자 : \t System.out.println("안녕\t하세요.저는 홍길동입니다."); 홑 따옴표 : 이스케이프 문자를 쓰지 않아도 됨. 단, 홑 따옴표 문자와 문자 리터럴 기호가 중복시에는 이스케이프 문자 사용 System.out.println('\''); 쌍따옴표 : \" System.out.println("안녕하세요 저는 \"홍길동\"입니다."); 역슬래쉬 문자 : \\ System.out.println("안녕하세요 저는 \\홍길동\\입니다."); 출력 결과 안녕하세요 저는 \홍길동\입니다. split사용시 : \\ sp..

15 Spring : @Aspect , @Before , @AfterAdvice, @AfterReturning, @AfterThrowing, @Around 사용하기

Spring AOP 사용하기 1) aspectj 라이브러리 추가 필요 2) Advice가 동작할 수 있게하는 class 생성 : aspectJ의 autoProxy사용에 관한 설정을 해 주어야 advice가 동작 @Configuration @EnableAspectJAutoProxy(proxyTargetClass=true) public class ContextConfiguration { } @Aspect : 클래스 선언부에 @Aspect 어노테이션을 정의 해당 클래스를 Aspect로 사용하려면 Bean으로 등록해야 하므로 @Component 어노테이션도 함께 정의해야 함. @Component @Aspect public class AroundLog { @Before Advice @Component @Aspec..

14 Spring : @Pointcut 어노테이션 표현식

Pointcut 표현식 : execution 속성에 설정 execution(* com.greedy.diz..*Impl.*(..)) *: 리턴타입 / com.greedy.. : 패키지 경로 / *Impl. : 클래스명 / *(..) : 메소드명 및 매개변수 리턴 타입과 매개변수를 무시하고, com.greedy.biz.패키지로 시작하는 클래스 중 이름이 Impl로 끝나는 클래스의 모든 메소드를 뜻함. @Pointcut 어노테이션 주요 표현식 1. 리턴타입 표현식 설명 * 모든 리턴 타입 허용 void 리턴타입이 void인 메소드만 선택 !void 리턴타입이 void가 아닌 메소드 선택 2. 패키지 표현식 설명 com.greedy.test 정확하게 com.greedy.test 패키지만 선택 com.greedy..

13 Spring : AOP 개념 정리

Spring AOP : 관점 지향 프로그래밍의 약자 중복되는 공통 코드를 별도의 영역으로 분리해내고 필요한 시점에 해당 코드를 가져다 쓸 수 있게 객체화하는 기술 Spring AOP의 구조 공통되는 코드를 따로 빼내어 작성하는 class를 Advice라고 하고, 해당 시점을 Joinpoint, 그 시점에 공통 코드를 끼워 넣는 작업을 Weaving이라고 함. Spring AOP의 용어 Introduction : 정적인 방식의 AOP 기술 Weaving : 작성한 Advice를 핵심 로직 코트에 삽입 1) 컴파일 시 위빙 : 컴파일 시 AOP가 적용된 클래스 파일이 새로 생성(AspectJ) 2) 클래스 로딩시 위빙 : JVM에서 로딩한 클래스의 바이트 코드를 AOP가 변경하여 사용 3) 런타임 시 위빙 ..

12 Spring : bean 초기화, 소멸 설정하기(init-method , ditory-method)

초기화와 소멸 메소드 : IoC 컨테이너가 Bean 객체를 생성할 때 bean 초기화가 필요하면 initMethod를 설정하고, IoC 컨테이너가 Bean 객체를 소멸시킬 때 자원 반납 등의 처리가 필요하면 destroyMethod를 설정함. 1. inti 메소드와 distory메소드에 사용할 출력문 작성하기 2. inimtMethod 와 destoryMethed 설정하기 (1) 빈 등록시 설정하기 @Bean(initMethod =" ", destroyMethod = " " ) 출력할메소드이름을 값으로 설정 @Bean(initMethod = "openShop", destroyMethod = "closeShop") public Owner owner() { return new Owner(); } (2) Po..

11 Spring : MessageSource를 통한 다국어 처리하는 방법

1. properties 파일에 영문과 한글로 message 작성 2. bean 등록 @Configuration public class ContextConfiguration { ReloadableResourceBundleMessageSource타입의 빈을 생성 @Bean public ReloadableResourceBundleMessageSource messageSource() { 접속하는 세션의 로케일에 따라 자동 재로딩하는 기능을 가진 MessageSource 구현체 ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); 다국어 메세지를 읽어올 properties 파일의 기본 파일..

10 Spring : properties 사용

1. 폴더생성(소스폴더로) 후 properties 파일 작성 : key 와 value 형태 key값을 작성할때 층위를 나워서 키 값을 부여할 수 있음. 2 . properties에 저장된 value 값 꺼내오기 1) 해당 클래스에 @PropertySource 어노테이션 작성 @Configuration @PropertySource("prdouct-info.properties") public class ContextConfiguration { 2) Bean 등록과 @Valuefmf 어노테이션을 사용하여 값 꺼내오기 - 치환자(placeholder) 문법을 이용하여 key를 입려하면 value에 해당하는 값을 꺼낼 수 있음 - ': ' 뒤의 값은 값을 읽어오지 못하는 경우 사용할 대체 값 - 내부에 공백을 사..

반응형