목록Spring (23)
kenzi

1. web.xml에 서블릿 설정 Archetype Created Web Application dispatcher org.springframework.web.servlet.DispatcherServlet 1 dispatcher / - init-param으로 value지정하지 않으면 디폴트로 [servlet-name]-servlet.xml을 찾는다 ----> dispatcher-servlet.xml 생성해야함 - url-pattern을 /로 설정하여 모든 url요청이 dispatcher서블릿 타도록 설정 2. dispatcher-servlet.xml로 빈 등록해주기 -viewResolver로 컨트롤러에서 작업한 이후 보내줄 view경로를 prefix와 suffix로 정해주기 (여기서는 view폴더안 jsp..
스프링 MVC의 주요 구성 요소 1) DispatherServlet 클라이언트의 요청을 전달받는다 Controller에게 클라이언트의 요청을 전달하고 Controller가 리턴한 결과값을 View에 전달하여 알맞은 응답을 생성하도록 한다 2) HandlerMapping 클라이언트의 요청 URL을 어떤 Controller가 처리할지 결정한다 3) Controller 클라이언트의 요청을 처리한 뒤 그 결과를 DispathcerServlet 에게 알려준다 4) ModelAndView Controller가 처리한 결과정보 및 뷰 선택에 필요한 정보를 담는다 5) ViewResolver Commander의 처리 결과를 보여줄 View를 결정한다 6) View Commander의 처리 결과를 보여줄 응답을 생성한다..
aop메서드 실행순서를 order로 지정해주는 것 왜 필요한가? 동일한 핵심서비스에 다른 advice를 가진 여러개의 aop메서드가 걸린다면? aop메서드의 순서를 정해서 실행시킬수 있다 expression 다른 표현
1. xml 컨테이너에서 after-returning에서 returning = "ret" ret가 뭔가? 어떤 객체를 return하라는 건가? //컨테이너.xml loggingAdvice 클래스를 따라가서 afterReturning메서드를 보면 ret는 Object타입의 로컬변수인데 변수만 만들어놓았는데? package ch05_obj; //aspect로 실행될 메서드 public class LoggingAdvice { public void before() { System.out.println("[LA]메서드 실행 전 (before) 전처리 수행함."); } public void afterReturning(Object ret) { System.out.println("[LA]메서드 정상 처리(afterRe..
DI는 object injection 이라면 AOP는 process injection 이다 AOP는 3개만 중점적으로 체크하자 포인트컷= aspect클래스= advice = 포인트컷 조건(어떤 메서드에 AOP걸거야?)에 맞는 메서드가 실행되면 aspect클래스에 있는 메서드가 advice(AOP가 걸리는 위치)에 따라 실행된다 (JointPoint.proceed()가 핵심 서비스 메서드 실행 )
1. 상황 설명 1) OracleArticleDao는 ArticleDao 인터페이스를 구현하고 있다 interface ArticleDao articleDao.insert() 실행=> 왜 OracleArticleDao의 insert()로 연결이 되는가? 우리는 private ArticleDao articleDao; 타입 ArticleDao 변수명 articleDao인 참조형 변수를 선언했으므로 articleDao.insert()를 실행=> interface ArticleDao의 추상메서드 insert()가 실행 이렇게 되어야 하는 것 아닌가? package ch05_obj; public class WriteImpl { private ArticleDao articleDao; public WriteImpl(A..
강사님이 막 적기는 하는데 뭐가 뭔지 안 알려주고 이렇게만 해보세요 하길래 궁금해서 찾아보는 포스팅 Project Object Model Maven 프로젝트의 빌드정보를 담고 있는 파일이다 : Maven의 XML 네임스페이스를 지정 : Maven의 model Version : 그룹 ID태그 : 아티팩트ID 태그 : 버전명 태그 패키징 형식을 지정하는 태그 : 프로젝트의 이름 : Maven의 url : 프로젝트 관련 속성 : pom.xml의 상속에 관련된 태그 : 프로젝트가 의존하는 라이브러리들의 정보 에 포함할 수 있는 태그 : 라이브러리의 그룹 아이디 : 라이브러리의 아티팩트 아이디 : 라이브러리의 버전 : 라이브러리가 프로젝트 내에서 사용되는 범위 출처: https://coding-hyeok.tist..
Aspect Oriented Programming 관점지향 프로그래밍 왜 등장? -"공통 관심사항(기능)과 핵심 관심사항(기능)을 분리해서 보자" 에서 시작 공통 관심사항은 외부에서 주입해주자 예를 들어 로그인 확인하고 안 되어있으면 다른 폼으로 넘겨주는 작업을 매번(글쓰기, 수정, 삭제등) 했는데 글쓰기 메서드를 처리하기 전에 로그인 기능(공통 관심사항)이 이미 주입되어서 실행된 상태가 된 것 예를 들어 회사에 출근하는데 건물 내 사무실을 드나들때 매번 사원증 확인하고 들어가야한다면 너무 번거로움 메인 출입구에서만 확인하면 신분확인이 되니까 간편함 그럼으로써? 중복 코드 제거에 따른 코드의 간결성 생산성 향상 공통기능이 빠진 클래스는 재사용 가능 유지보수 향상 어떻게 사용하나? 스프링 공식문서 http..