본문 바로가기
Programming/JSP&Servlet

2016.4.28

by 짜_money 2016. 4. 28.
반응형

//DB의 Student테이블 관련 작업을 하고 싶을때

//StudentDao클래스의 객체를 만들어서 

//해당 기능을 호출하면 됨


StudentDao dao = new StudentDao(); 

for(Student s : dao.selectAll()) System.out.println(s);



//StudentDao객체를 만들 때마다 새로운 Connection도 만들어짐

//우리는 프로그램 실행~종료까지 하나의 connection만 유지하고 싶음

//나중에 좀 더 효율적인 Connection관리는 Connection Pool을 이용해서

//StudentDao클래스의 객체가 1개만 유지되게 하려면

싱글턴 패턴

//특정 클래스의 객체가 1개만 유지되도록 하는 디자인 패턴

//특정 클래스의 객체가 하나만 만들어지고 어디서든 그 객체에 접근할 수 있음





싱글턴 패턴 만들기


//1. 생성자를 외부에서 호출하지 못하도록 private으로 숨김

//2. 객체를 대신 만들어주는 함수를 만듬

//2-1. 2의 함수가 처음 불릴 때는 새로 만든 객체를 주고, 두번째 부터는 처음에 만든 것을 다시 사용

//2-2. 2-1을 다시 사용하려면 처음 만든 객체를 어딘가에 저장해 둬야 함



//1. 외부에서 자유롭게 객체를 생성하지 못하도록 생성자를 private로 감춤

//2. 1개 유지될 객체를 저장할 참조 변수 선언

//3. 2에 대한 getter를 만들되 2가 null일때 객체 생성


//1. 생성자를 private로 

//2. 자기 자신의 참조변수를 static으로 선언

//3. 2에 대한 getter를 만들되 2가 null일때 객체생성


ex>

private static StudentDao instance;

public static StudentDao getInstance() {

if(instance == null)

instance = new StudentDao();

return new StudentDao();

}



synchronized(동기화)

동기화란 하나의 자원(데이터)에 대해서 여러 스레드가 사용하려고 할때 한 시점에서 하나의 스레드만 사용할 수 있도록 하는 것이다.


실습>

Employee와 EmployeeDao만들기




//코드 (Employee)








반응형

'Programming > JSP&Servlet' 카테고리의 다른 글

2016.5.3  (0) 2016.05.03
2016.5.2  (0) 2016.05.02
2016.4.29  (0) 2016.04.29
2016.4.28  (0) 2016.04.28
2016.4.27  (0) 2016.04.27