내용

글번호 692
작성자 heojk
작성일 2017-06-19 17:28:32
제목 의존성 주입과 프락시 클래스
내용 IHelloRepository.java
package kr.or.kosa.hello.dao;

public interface IHelloRepository {
	String sayHello(String message);
}
HelloRepository.java
package kr.or.kosa.hello.dao;

public class HelloRepository implements IHelloRepository {

	@Override
	public String sayHello(String message) {
		System.out.println("데이터베이스와 통신하는 클래스 실행");
		return ">>>---" + message + "---<<<";
	}

}
IHelloService.java
package kr.or.kosa.hello.service;

public interface IHelloService {
	String sayHello(String message);
}
HelloService.java
package kr.or.kosa.hello.service;

import kr.or.kosa.hello.dao.IHelloRepository;

public class HelloService implements IHelloService {
	public IHelloRepository repository;
	@Override
	public String sayHello(String message) {
		return repository.sayHello(message);
	}
}
HelloService12345.java
package kr.or.kosa.hello.proxy;

import kr.or.kosa.hello.dao.IHelloRepository;
import kr.or.kosa.hello.service.HelloService;

public class HelloService12345 extends HelloService {
	public HelloService12345(IHelloRepository repository) {
		this.repository = repository;
	}
}
HelloMain.java
package kr.or.kosa.hello;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import kr.or.kosa.hello.dao.HelloRepository;
import kr.or.kosa.hello.dao.IHelloRepository;
import kr.or.kosa.hello.proxy.HelloService12345;
import kr.or.kosa.hello.service.HelloService;
import kr.or.kosa.hello.service.IHelloService;

public class HelloMain {

	public static void main(String[] args) {
		IHelloRepository repository = new HelloRepository();
		IHelloService service = new HelloService12345(repository);
		System.out.println(service.sayHello("안녕하세요"));
	}

}