목록네이버클라우드 AIaaS 개발자 양성과정 1기/DBMS, SQL, JDBC, Servlet (27)
개발자입니다
com.eomcs.ioc 예제 소스 정리 ioc com.eomcs.ioc.ex01 IoC 컨테이너 만들기 - 1) 특정 패키지의 파일 목록 알아내기 package com.eomcs.ioc.ex01; import java.io.File; // => 그 패키지에 있는 파일 및 디렉토리 정보만 알아낸다. public class Exam01 { public static void main(String[] args) { // 1) 패키지 경로 준비 File packageDir = new File("/Users/eomjinyoung/git/java106/java106-java-basic/bin/main/step19/ex1"); // 2) 해당 디렉토리에서 파일 목록을 가져오기 File[] files = package..
com.eomcs.annotation 예제 소스 정리 annotation com.eomcs.annotation.ex1 애노테이션 사용 package com.eomcs.annotation.ex1; //=> 클래스, 필드, 메서드, 로컬 변수 선언에 붙이는 특별한 주석이다. //=> 다른 주석과 달리 컴파일이나 실행할 때 추출할 수 있다. //=> 애노테이션 문법이 도입되기 전에 // 일반 주석에 특별한 문법을 포함시켜 사용했던 doclet 이라는 기술이 있었다. //=> 일반 주석과 달리 '프로퍼티명=값' 형태로 값을 다룰 수 있다. //=> 사용법 // - 애노테이션 정의 또는 기존에 정의된 애노테이션 사용 // - 클래스나 인터페이스에 적용 //=> .class 파일에 포함된 애노테이션을 확인하라! /..
com.eomcs.reflect 예제 소스 정리 reflect com.eomcs.reflect.ex01 Reflection API : 클래스 로딩 package com.eomcs.reflect.ex01; class A { static int i; static void m() { i = 100; System.out.println(i); } static { System.out.println("A 클래스 로딩!"); } public A() { System.out.println("A() 생성자 호출!"); } } public class Exam0110 { public static void main(String[] args) throws Exception { // 클래스 로딩 // => 클래스가 로딩되어 있지 않..
54. 페이지 컨트롤러 생성 자동화: Reflection API 활용 ### 54. 페이지 컨트롤러 생성 자동화: Reflection API 활용 - 리플랙션 API를 이용하여 클래스의 인스턴스 생성을 자동화하는 방법 웹 앱 클래스 폴더 알아내서 그 중 PageController 구현 클래스를 찾는다. PageController 의 인스턴스를 생성한다. 생성자로 파라미터 배열 알아내서 이를 이용해 인스턴스 생성한다. 각 PageController 구현체에 스태틱 필드 path 를 선언하여 요청 경로를 저장하였다. @WebListener public class ContextLoaderListener implements ServletContextListener { List c : interfaces) { i..
51. 서비스 객체 도입 - 비즈니스 로직 분리 BoardInsertServlet 에서 BoardDao 로 insert() 한다. 그리고 BoardFileDao 로 insertList() 한다. 이를 Tx 로 묶는다. BoardInsertServlet 역할은 - 입력값 가공 - 업무 흐름 제어 (+트랜잭션 제어) - 출력 제어 -----Dao 역할은 - 데이터 처리 - 회사마다 업무 흐름이 다르다. - 업무 흐름은 자주 변경된다. 기능 변경 ↓ 계속 자주 변경 → 회사마다 변경해야 한다 → Controller 에서 비즈니스 로직을 분리! 여러 서블릿이 비즈니스 로직을 재사용 할 수 있다. 서블릿 기술과 상관없이 사용할 수 있다. 업무 흐름 제어 BoardInsertServlet 역할 - 입력값 가공 - ..
50 파일 업로드 처리 - 테이블 구조 정의 회원, 게시글, 첨부파일을 ER Diagram 으로 나타내면 다음과 같다. app_member I OI insert into app_board_file(filepath, origin_filename, mime_type, board_id) values(#{filepath}, #{originalFilename}, #{mimeType}, #{boardNo}) insert into app_board_file(filepath, origin_filename, mime_type, board_id) values (#{file.filepath}, #{file.originalFilename}, #{file.mimeType}, #{file.boardNo}) select board..