목록전체 글 (160)
JAVA를 잡아라!...

[ JdbcTemplate을 활용한 DAO version upgrade ] 기존 DAO에 템플릿 패턴을 활용한 클래스를 구현해서 코드 가독성 증가 JdbcTemplate : 템플릿 패턴을 활용한 클래스 반복되는 JDBC의 로직(DB연결 → SQL 생성 → 실행 → 결과 → DB연결해제)을 캡슐화한 클래스 템플릿 패턴 : 반복적인 로직, 복잡한(어려운) 로직을 캡슐화한 클래스 ex) 반복되는 JDBC의 로직(DB연결 → SQL 생성 → 실행 → 결과 → DB연결해제) ① JdbcTemplate으로 CRUD 수행 (+ RowMapper 클래스 작성) [ SELECTALL ] jdbcTemplate으로 selectAll executeQuery() → selectAll의 output은 List → jdbcTem..

#1 스프링 컨테이너의 장점 1. IoC 로 의존주입을 통한 낮은 결합도 보장 2. AOP 를 지원해서 높은 응집도 보장 #1-1 IoC new를 컨테이너가 대신 해줌 서블릿(FrontController)을 new == 서블릿 컨테이너(톰캣, 웹 서버) POJO(DAO, Action,...)를 new == 스프링 컨테이너 컨테이너 > .xml(설정파일) DI(의존주입)을 통한 낮은 결합도 보장 #1-2 AOP 어떤 비즈니스로직이어도 항상 등장하는 로직이 있음 하나의 컨트롤러(액션, 서비스)에서 C,R,U,D → 한번에 처리를 했지만 다른 파트에서도 수행하는 로직이 있다면 그것을 공통 로직이라고 인지를해서 분리해서 관리 C : 인증로깅C트랜잭션예외처리 R : 인증로깅R U : 인증로깅 (보안)U트랜잭션예외..

@어노테이션 종류 설명 @Component 빈으로 자동 등록될 클래스 지정 스프링 컨테이너가 클래스패스를 스캔해 @Component 붙은 클래스를 찾아 빈을 new @Service 비즈니스 로직을 처하는 서비스 레이어*의 클래스 지정 @Component 어노테이션과 동일하지만, 주로 비즈니스 로직을 담당하는 서비스 레이어의 클래스에 사용 *Service Layer : 비즈니스 로직을 사용하는 컨트롤러단 @Service 사용 장점 1) 가독성 향상 : 개발자가 이 객체가 Service 레이어의 객체임을 빠르게 파악 2) 스프링 컨테이너가 같은 @끼리 메모리 위치를 잘 정해서 관리 (로딩 속도 빨라짐) @Repository 데이터 접근 로직을 담당하는 데이터 액세스 레이어*의 클래스를 지정 @Componen..

boardDAO 만나면서 문제 생김? ㄴㄴ 컨테이너 문제 boardDAO 근본원인이 아님 aspectj가 없는게 근본원인 jar없음 pom.xml 2개 dependency추가 ㄱㄱ 더보기 10:35:53.479 [main] WARN org.springframework.context.support.GenericXmlApplicationContext -- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'boardDAO' defined in file [D:\..

최종 프로젝트_Spring Framework 컨테이너 3개 사용 (스프링에서 제공해주는 컨테이너 2개 == 스프링 컨테이너, 루트 컨테이너) #1 컨테이너 종류 및 역할 1. 서블릿 컨테이너 (웹 서버, 톰캣) 내장 서버(설치 xx) Servlet 클래스를 new(생성) 해줌 (ex. FrontController) 2. 스프링 컨테이너 POJO 클래스를 new 해줌 (ex. DAO, DTO, Action류) 코드 내에서 new 역할을 담당하는 컨테이너 3. 루트(최상위) 컨테이너 .jar(라이브러리)를 관리 스프링에서 제공해주다보니까 스프링 컨테이너라고 불리기도함 설정에 대한 이야기를하면 루트 컨테이너를 말한다고 알아들으면 됨 #2-1 XML 설정 파일 : 컨테이너가 구동되려면 설정 파일(.xml)이 필..