구조 UserController.java package com.project.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapp..
DAO : 데이터 베이스 연동 Mapper : Query문 DTO : 모델 Service : 비즈니스 로직 Controller Views : JSP 구조 BoardController.java package com.project.controller; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; i..
pom.xml - dependencies mysql mysql-connector-java 8.0.17 org.mybatis mybatis 3.4.1 org.mybatis mybatis-spring 1.3.0 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4 1.16 org.springframework spring-jdbc ${org.springframework-version} org.springframework spring-test ${org.springframework-version} commons-dbcp commons-dbcp 1.4 root-context.xml - [localhost 및 주소] : 데이터베이스 주소 입력 - [shema] : 데이터베이스 안에서 ..
AOP (Aspect Oriented Programming) : 관점 지향 프로그래밍 - 공통 기능을 핵심 기능과 분리해 놓고, 공통 기능 중에서 핵심 기능에 적용하고자 하는 부분에 적용 기본 용어 1. Aspect : 공통 기능 2. Advice : Aspect 순수 기능 그 자체 3. Joinpoint : Advice를 적용해야 되는 부분 (메소드) 4. Pointcut : Joinpoint의 부분, 실제로 Advice가 적용된 부분 5. Weaving : Advice를 핵심 기능에 적용하는 행위 XML 기반 AOP 구현 0. 데이터 클래스 - Student.java package com.spring.ex; public class Student { private String name; private ..
Framework : 다양한 어플리케이션을 제작하기 위해 약속된 프로그래밍 틀 - 어떠한 목적을 달성하기 위해 복잡하게 얽혀 있는 문제를 해결하기 위한 구조이자 약속 - 클래스 + 라이브러리 - 재사용성을 큰 그룹 단위로 묶어줌 - 재사용 가능한 수많은 클래스들과 라이브러리들을 융합한 채로 처음부터 제공 #모듈화를 하는 이유중 하나가 재사용성 특징 POJO (Plain Old Java Object) - 기존 라이브러리를 지원하기 용이 - 일반적인 자바 코드를 이용하여 개발 가능 - 객체가 가벼움 - 별도의 프레임워크 없이 JAVA EE를 사용할 떄에 비해 인터페이스를 직접 구현하거나 상속받을 필요가 없음 AOP (Aspect Object Programming : 관점 지향 프로그래밍) - 여러 모듈에서 ..
Spring : 다양한 어플리케이션을 제작하기 위한 약속된 프로그래밍 틀 - JAVA 기반 - 코드의 경량화 - 개발 중 테스트가 쉬움 - 톰캣 사용 가능 - 국내 표준 프레임워크 - 다양한 어플리케이션을 쉽고 빨리 개발 가능 - 부품을 생성하고 조립하는 라이브러리 집합체 - 동적 웹사이트 개발 - 관점 지향 - 확장성 DI (Dependency Injection) - 객체를 직접 생성 하는것이 아니라 외부에서 만들어서 setter( ) 또는 construct( )에 대입 IOC 컨테이너 - 인스턴스의 생명주기 관리 - 추가적인 기능들 제공 - 코드의 처리과정을 갖는 독립적인 주체 : 알아서 컨트롤 가능 - 외부에서 제어 예시 - Calculation.java package com.java.ex; pub..