전체 글

꾸준하게 열심히..
💐 Spring/Spring 핵심 기술

빈을 등록하고 의존성 주입하는 방법

빈 이란? 스프링 IoC 컨테이너가 관리 하는 객체 스프링 IoC 컨테이너란? BeanFactory 를 확장하는 ApplicationContext를 많이 사용한다. 컨테이너가 하는 일 : 빈 설정 소스로 부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다. ( 빈 인스턴스 생성, 의존 관계 설정, 빈 제공) 장점 1. 의존성 관리 2. 스코프 - 싱글톤 (기본값) : 하나의 객체만 사용 -> 빠른 성능 - 프로토타입 : 매번 다른 객체 3. 라이프사이클 인터페이스 빈 등록 하는 방법 두가지 1. 고전적인 방식의 빈 등록 방법 - ApplicationContext (XML) 단점 : 일일히 하나하나 빈을 등록해야 한다는 불편함이 있다. 2. 어노테이션을 이용한 빈 등록 방법 ( Java ) package ..

💐 Spring/Spring 핵심 기술

PSA( Portable Service Abstract )

PSA 란 ? 잘 만든 인터페이스 나의 코드 확장성이 좋지 못한 코드 or 기술에 특화되어 있는 코드 나의 코드 +++++++++ 잘 만든 인터페이스(PSA) ++++++++++++++++ 확장성이 좋지 못한 코드 or 기술에 특화되어 있는 코드 스프링 트랜잭션 @Transactional 이라는 annotation을 처리하는 Aspect 가 있다. 그 Aspect에서는 *PlatformTransactionManager 라는 인터페이스를 사용해서 코딩을 해놨다. * 잘 만든 인터페이스(PSA) 의 예 그렇기 때문에 PlatformTransactionManager 의 여러 구현체들이 바뀌더라도, 트랜잭션의 Aspect 코드는 바뀌지가 않는다. 여기서는 Repository 라는 interface를 구현하고 있..

💐 Spring/Spring 핵심 기술

AOP (Aspect-Oriented Programming)

AOP 의 핵심 : 흩어진 코드를 한곳으로 모으는 코딩 기법 흩어진 AAAA 와 BBBB class A { method a () { AAAA 오늘은 7월 4일 미국 독립 기념일이래요. BBBB } method b () { AAAA 저는 아침에 운동을 다녀와서 밥먹고 빨래를 했습니다. BBBB } } class B { method c() { AAAA 점심은 이거 찍느라 못먹었는데 저녁엔 제육볶음을 먹고 싶네요. BBBB } } AAAA , BBBB 를 밖으로 빼버린다. 모아 놓은 AAAA 와 BBBB class A { method a () { 오늘은 7월 4일 미국 독립 기념일이래요. } method b () { 저는 아침에 운동을 다녀와서 밥먹고 빨래를 했습니다. } } class B { method c..

💐 Spring/Spring 핵심 기술

IoC (Inversion of Control) , DI (Dependency Injection)

IoC 란? Inversion of Control ( 제어권 역전 ) (IoC 예시) 객체를 내가 직접 new 생성 (IoC 적용 x) class OwnerController{ private OwnerRepository repository = new OwnerRepository(); } IoC 를 이용한 의존성 주입 (IoC 적용 o) class OwnerController{ private OwnerRepository repo; public OwnerController(OwnerRepository repo){ //생성자를 통해 매개변수로 객체를 받는다 this.repo = repo; } } OwnerRepository는 OwnerController의 의존성이다. ->OwnerRepository가 있어야 ..

💐 Spring/Spring 핵심 기술

빈 (Bean) , IoC (Inversion of Control) 컨테이너, @Autowired

IoC 컨테이너 - ApplicationContext 컨테이너가 관리하는 객체를 빈(bean)이라고 하고, 이 빈(bean)들을 관리한다는 의미로 컨테이너를 빈 팩토리(BeanFactory) 라고 부른다. BeanFactory에 여러 가지 컨테이너 기능을 추가하여 애플리케이션 컨텍스(ApplicationContext)라고 부름 ApplcationContext : 얘가 Bean들을 만들고, 그 Bean들의 의존성을 엮어준다. 오로지 Bean들만 관리! OwnerController 가 IoC 컨테이너 내부에 들어오고, 컨테이너에서 OwnerController 객체를 만들어 준다. 그리고, OwnerRepository 의 객체도 만들어 준다. -> Bean 즉, Bean들의 의존성들을 자동으로 관리해준다. I..

🌻 JAVA/정리정리정리

[Java] 10진수 -> 2진수

Integer.toBinaryString( int i ); return : String int a = 30; String b = Integer.toBinaryString( a ); a : 30 b : 0001 1110 Integer.parseInt( String s , int n진수 ); return : int String s = Integer.toBinaryString( a ); // 0001 1110 int i = Integer.parseInt( s , 2 ); s : 0001 1110 i : 30

iseunghan
iseunghan