@@ di21.xml : 호출할 패키지 설정
<!-- 특정 패키지 annotaion에 해당하는 클래스 메모리 로딩 -->
<context:component-scan base-package="a01_diexp.backend">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
</context:component-scan>
// 사용할 DB 정보 처리(driver,ip,port,sid,id,pass 등)
<bean id="dbCon" class="a01_diexp.backend.DB"
c:_0="oracle.jdbc.driver.OracleDriver" c:_1="localhost" c:_2="1521"
c:_3="xe" c:_4="scott" c:_5="tiger"/>
-----------a01_diexp.backend 하위의 클래스들------------
@@ DB.java
public class DB{ // 필요한 정보 변수 설정 및 생성자 생성
private static String driver;
private static String ip;
private static String port;
private static String sid;
private static String user;
private static String pass;
Connection con=null;
// 1. 메모리 로딩
try {
Class.forName(driver);
//System.out.println("드라이버 로딩 성공");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("드라이버 에러:"+e.getMessage());
}
// 2. 연결정보 처리.
String info = "jdbc:oracle:thin:@"+ip+":"+port+":"+sid;
con = DriverManager.getConnection(info,user,pass);
//System.out.println("연결 성공");
return con;
}
@@ A06_PerparedDao.java : DB처리할 자바클래스
@Repository
public class A06_PareparedDao implements A03_Dao {
public List<Dept> getDeptList(Dept sch){
해당 메서드 처리할 내용
return list;
}
}
@@ Dao.java : A06_PerparedDao.java을 상속받은 인터페이스
public interface A03_Dao {
// 서비스에서 사용할 메서드
public List<Dept> getDeptList(Dept sch);
}
@@ Service.java
@Service
public class A02_Service {
@Autowired
private A03_Dao dao;
// 서비스단에서 자바 로직처리
public List<Dept> getDeptList(Dept sch){
if(sch.getDname()==null) sch.setDname("");
if(sch.getLoc()==null) sch.setLoc("");
return dao.getDeptList(sch);
};
}
@@ Controller.java
@Controller
public class A01_Controller {
@Autowired
private A02_Service service;
// main java파일에서 출력할 내용
public void getDeptList(Dept sch){
List<Dept> dlist = service.getDeptList(sch);
if(dlist!=null && dlist.size()>0) {
for(Dept d:dlist) {
System.out.print(d.getDeptno()+"\t");
System.out.print(d.getDname()+"\t");
System.out.print(d.getLoc()+"\n");
}
}else {
System.out.println("검색된 부서정보가 없습니다.");
}
};
}
-----------------------------------------------------
@@ DIExp21.java : 처리된 내용을 호출할 main 화면
public static void main(String[] args) {
String path="a01_diexp\\di21.xml"; // 컨테이너 호출
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(path);
// 컨트롤러 호출
A01_Controller con = ctx.getBean("a01_Controller",A01_Controller.class);
con.getDeptList(new Dept());
System.out.println("종료");
ctx.close();
}
출력된 부서정보 DB 테이블 정보