예외 내용 org.apache.catalina.LifecycleException: Failed to start component StandardEngine[Catalina].StandardHost[localhost].StandardContext[/controller] 해결(이클립스 기준) 1. 메이븐 저장소 문제이므로 Preferences > Maven > User Settings > Local Repository 경로의 모든 파일 삭제. 2. Servers > Tomcat > Clean & Clean Tomcat Work Directory 3. Menu > Project > Clean 4. Project Explorer > 프로젝트 우클릭 > Maven > Update Project 또는 프로젝트 클릭..
핵심 기능과 부가기능 - 업무 로직을 포함하는 기능을 핵심 기능 (Core Concerns) - 핵심 기능을 도와주는 부가적인 기능을 부가기능 (Cross-cutting Concerns) - 객체 지향의 기본 원칙을 적용하여도 핵심 기능에서 부가 기능을 분리해서 모듈화 하는 것은 매우 어려움. 출처 : Tacademy AOP(Aspect Oriented Programming)-관점 지향 프로그래밍의 개요 AOP는 어플리케이션에서의 관심자의 분리(기능의 분리) 즉, 핵심적인 기능에서 부가적인 기능을 분리한 부가기능을 애스펙트(Aspect)라는 독특한 모듈형태로 만들어서 설계하고 개발하는 방법 - OOP를 적용하여도 핵심 기능에서 부가 기능을 쉽게 분리된 모듈로 작성하기 어려운 문제점을 AOP가 해결해준다고..
DAO 패턴 - 데이터 액세스 계층은 DAO 패턴을 적용하여 비지니스 로직과 데이터 액세스 로직을 분리하는 것이 원칙. - 비지니스 로직이 없거나 단순하면 DAO와 서비스 계층을 통합할 수도 있지만, 의미 있는 비지니스 로직을 가진 어플리케이션이라면 데이터 액세스 계층을 DAO 패턴으로 분리해야 함. - DAO 패턴은 서비스 계층에 영향을 주지 않고 데이터 액세스 기술을 변경할 수 있는 것이 장점. 커넥션 풀링을 지원하는 DataSource 커넥션 풀링은 미리 정해진 갯수만큼의 DB 커넥션을 풀에 준비해두고, 어플리케이션이 요청할 때마다 Pool에서 꺼내서 하나씩 할당해주고 다시 돌려받아서 Pool에 넣는 식의 기법. - 다중 사용자를 갖는 엔터프라이즈 시스템에서라면 반드시 DB 커넥션 풀링 기능을 지원..