목록콤퓨타 왕기초/Spring (32)
파게로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CmzY0/btq3Woct7UK/tpMsc57qDTRV6ktTpzrU21/img.png)
1. Servlet 객체를 얻어서 문자열 출력 2. @ResponseBody 설정을 통한 문자열 출력 3. ResourceViewResolver를 이용한 문서 출력 + TileViewResolver를 이용한 문서 출력 등등등... Spring이 제공하는 FrontController를 통해서 요청이 들어오게 되는데, 이 때 annotation을 보고 메서드가 호출되게 된다. 그리고 그 메서드를 .invoke() 하는데, 이 때 메서드를 확인할 때 파라미터가 있고 FrontController가 제공할 수 있는 것이라면, Front Controller가 가지고 있는 객체를 전달해준다. 즉 response에다가 출력해버리면 된다. package com.ddoongi.web.controller; import ja..
자바 애플리케이션의 초기화 또는 설정 파일은 XML 파일이나 Annotation이나 Java 설정 파일이나 property, yaml 등을 사용한다. servlet-context.xml 위 스크립트에서 2라인을 Annotation으로 바꾸어보자. 그리고 위 파일에서 context namespace와 스키마 위치를 아래와 같이 추가한다. 그리고 annotation을 통해서 config를 했기 때문에 반드시 이를 알려주어야 한다. EmpController.java public class EmpController implements Controller { private EmpService empService; @Override public ModelAndView handleRequest(HttpServletR..
dispatcher-servlet.xml이라는 파일을, 여러 개로 나눔으로써 특히 협업 시에 작업이 용이해진다. 예를 들면 다음과 같은 구조로 나눌 수 있다. /WEB-INF/spring/security-context.xml service-context.xml servlet-context.xml web.xml에 설정 파일들의 위치를 말해주어야 한다. web.xml org.springframework.web.context.ContextLoaderListener contextConfigLocation /WEB-INF/spring/service-context.xml /WEB-INF/spring/security-context.xml dispatcher org.springframework.web.servlet.D..
서비스 객체의 결합력을 낮추기 서비스 객체를 다른 객체(다른 구현기술)로 바꾸려면? service:JDS - JDS(JDBCService) - DB JPS(JPAService) MyBatis ... 지금 service:JDS에서 알 수 있듯이 결합력이 너무 높음. 교체를 용이하도록 하기 위해 결합력을 낮추게, 인터페이스를 추가해준다. service:S - S(Service) - JDBCService or JPAService - DB Service에다가 Connection 정보(url, uid, pwd, driver 등)을 직접 넣어두면 배포 후 변경이 불가능하므로 재컴파일, 재배포 등의 과정이 필요하다. JDBEmpService 클래스에다가 private DataSource dataSource; // i..
Maven dependencies에 com.oracle.database.jdbc ojdbc를 추가한다. 그렇다면 EmpService라는 객체를 어떻게 생성할 것인가? EmpController 내부에서 직접 EmpService 객체를 new 키워드를 통해 생성하는 대신, Spring스럽게 별도로 생성하여 IoC Container에 담아서 DI를 해준다. 물론 이를 위해서 인스턴스 변수와 setter를 설정해두어야 한다. dispatcher-servlet.xml 그리고 DB를 시험해보기 위해 사용할 Emp라는 클래스는 알아서 만들어두자. 아래와 같이, Controller에서 EmpService는 직접 생성되는 것이 아니라 이미 Spring을 통해 DI가 완료되어 있는 상태이다. 바로 empService.ge..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dibcVQ/btq3TaMZT4k/LKOFkgB1M8pHLCmlkDIqIk/img.png)
새로운 Java 프로젝트를 생성하여 JDBC를 통해 간단하게 DB에 접속해보았다. 기본적인 기능들을 확인하기 위해 아래 사이트를 참고했는데 코드 퀄리티 자체도 좋지 않을 뿐더러 설명이 다소 미흡한 부분이 있어서 조금 고생을 했다. 일단, 아래 링크를 통해서 Oracle JDBC Driver를 다운받는다. www.oracle.com/database/technologies/appdev/jdbc-ucp-183-downloads.html Classpath 아래에 Add External JARs를 통해서 JAR를 추가해준다. 서버의 IP, 오라클 SID, 접속 프로토콜 등은 ServiceName으로서 대표되고, 클라이언트 프로그램은 ServiceName을 통해서 서버에 접속할 수 있다. 이는 클라이언트쪽의 TNS..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/AenZ6/btq3UjPPNZT/KJsytUQNPOKEdMZQRqXqS1/img.png)
JDBC(Java DataBase Connectivity)는 Java 프로그래밍 언어와 데이터베이스를 연결해주는 데이터베이스 독립적인, standard Java API이다. 🥪 JDBC의 기능 ▪ DB에의 연결 ▪ SQL문 생성 ▪ DB에서 SQL 쿼리 실행 ▪ 결과 레코드를 보거나 수정 🥪 JDBC의 아키텍쳐 JDBC API는 DB 접근을 위한 2-tier과 3-tier 프로세싱 모델을 모두 지원하지만 일반적으로는 두 개의 레이어로 이루어져 있다. ▪ JDBC API 어플리케이션-to-JDBC Driver Manager 연결 제공 ▪ JDBC Driver API JDBC Driver Manager-to-JDBC Driver 연결 제공 JDBC 드라이버는 각각의 데이터 소스에 대해서 (동시에 여러 다른 ..
public class NoticeService { private String url = "jdbc:oracle:thin:@localhost:1521/xepdb1"; private String uid = "berry"; private String pwd = "qwer123"; private String driver = "oracle.jdbc.driver.OracleDriver"; // ... } public class ListController implements Controller { private NoticeService noticeService; public void setNoticeService(NoticeService noticeService) { this.noticeService = notic..