목록디바이스 융합 자바(Java)기반 풀스택 개발자 양성과정(수업내용) (81)
열심히 끝까지
[오늘 수업] 직접 @을 걸어서 연결해보기 1. 스프링 컨테이너가 내가 설정한 패키지 범위를 scan 할 수 있도록 Namespaces에서 context 추가 2. @을 달 수 있는 것은 controller객체에만 사용할 수 있기 때문에 Component 달기 @Component("loginController") : 일반 객체화랑 똑같음 >> @Repository, @Service 와 마찬가지로 @Controller로 달 수 있음 DS()이 인식하는 C객체로 설정해 줌 implements 필요 없음 => 오버라이딩 강제 필요 없음 => 완전한 POJO 완성 >> 완전한 시그니쳐가 되어 이름 변경 가능 ex ) public void selectOneMember(HttpServletRequest reques..
암기) .xml -> 이 설정파일을 읽는 컨테이너가 존재한다. 컨테이너가 등장하려면? 설정파일(.xml)이 필요하다. ----------------------------------------- 컨테이너란? new 해주는 존재 서블릿을 new해주면 서블릿 컨테이너 [web.xml] JAVA 클래스(POJO)를 new해주면 스프링 컨테이너 [appliationContext.xml,DS-servlet.xml] -------------------------------------------- 서블릿이란? 특정 조건들이 첨가된 JAVA 클래스 확장된 기능을 가지는 특이한 형태의 JAVA 클래스 "웹 개발"할때 사용됨 서블릿으로 웹 화면을 구현하는 행위 어렵죠? JAVA언어 안에 HTML언어를 넣어야하니까... ou..

디바이스 융합 자바 day69(1) 내용 중... 1. 사용자가 *.do 요청을 하면 2. web.xml을 읽어들이는 서블릿 컨테이너에서 서블릿 객체를 생성함 3. web.xml에 등록되어있던 "내가 만든 DS"을 "Spring에서 제공하는 DS"로 교체 4. FileNotFound 뜨게 됨 java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/DispatcherServlet-servlet.xml] >> 자동으로 new를 해주고 난 후의 에러 >> 서블릿 컨테이너는 Spring에서 제공하는 DS 객체를 생성해줄 때에 init()을 자동 실행 => init()이 자동실행되게끔 설계된 이유? => 스프링 컨테이너가 [/..

1. 사용자가 *.do 요청을 하면 2. web.xml을 읽어들이는 서블릿 컨테이너에서 서블릿 객체를 생성함 3. web.xml에 등록되어있던 "내가 만든 DS"을 "Spring에서 제공하는 DS"로 교체 DispatcherServlet org.springframework.web.servlet.DispatcherServlet DispatcherServlet *.do >>> servlet-class의 변화(DispatcherServlet) >> 전 : com.ryo.biz.controller.DispatcherServlet >> 후 : org.springframework.web.servlet.DispatcherServlet 4. FileNotFound 뜨게 됨 java.io.FileNotFoundExcep..
[ MVC 패턴의 변화 ] .jsp 작업을 할 때, ... 1) main.jsp 2) main.jsp + ctrl.jsp --------------------------- >> 회사에서 1, 2번으로 하고 있는 회사는 거의 없음 3) main.jsp + Frontcontroller.java(서블릿) => MVC2 패턴 적용 --------------------------- 서블릿 컨테이너(==톰캣,웹서버)에게 *.do 요청에 대해서 FrontController 서블릿으로 올 수 있도록 매핑 설정을 해줘야 함 -> web.xml => @webServlet("*.do") >> com.ryo.biz.common에 ctrl 작성하지만 파악하기 위해 새로 package 생성 4) MVC2의 과정을 Spring 스..

[오전 내용] - 디바이스 융합 자바(Java) day67(1) 참고(https://programming-studyroom.tistory.com/201) >> .xml에 AOP 설정 : 하찮은 로그만 찍어봄 >> 좀더 로그다운 것을 찍으려면 >> 어떤 포인트컷과 연결되었는지를 확인하는 것이 좋음 => joinpoint를 이용해 받아옴 >> 유용한 로그 찍는 것이 가능해짐 >> around pjp를 인자로 받아서 포인트컷 연결 >> business 메서드에 return값이 존재하기도 하는데 바인드 변수를 이용해 받을 수 있음 >> xml에서 return 및 throw값을 받을 수 있음 [오후 내용] ※ 바인드 변수 == 바인드는 바인딩과 비슷 Object returnObj : 설정을 해준다면, 비즈니스 메..

[ 지난 수업 ] Spring 프레임워크 : 유지보수를 위해 사용 - IoC와 AOP를 지원하는 경량의 프레임워크 덕분 > 제어의 역행(IoC) : 의존관계 - 어떤 객체가 특성메서드를 수행할 때에 다른 객체를 사용하는 것(멤버변수) ex ) 캐릭터 - 무기, 폰 - 워치, C(Service) - DAO, .... : 의존성주입(DI) - new 결합도를 높히는 코드 - 결합도를 낮추기 위해 컨테이너에게 부탁함 .xml @ @Component 생성자인젝션 @Autowired setter인젝션 > 관점지향 프로그래밍 우선 두 개로 분리 - CRUD(비즈니스메서드, 핵심로직) - 횡단관심(공통로직) : 어떤 핵심로직 + 횡단관심을 엮을지를 스프링 컨테이너에게 알려주어야 함! : .xml, @으로 설정 가능 ..

AOP 용어정리 - Advice : 횡단관심 ex ) LogAdvice : 로그 횡단관심 어디있나? - pointcut : 횡단관심을 적용할 핵심 로직 aPointcut == 모든 핵심 로직(부를 이름) bPointcut == ? 핵심 로직 expression(표현식)에 어떤 핵심 로직인지 알려줘야함 execution(메서드 시그니처) [*] [com.kim.biz..*Impl.*] [(..)] 1번째 괄호 [타입 상관없이 모든 로직에 대해서] 2번째 괄호 [패키지 이름 Impl로 끝나는 것의 모든 메서드에 대해서] 3번째 괄호 [모든 인자를 의미] ex ) aPointcut - 임의로 정해준 이름(회사마다 달라짐) - aspect : "결합" 그 자체 횡단관심 + 포인트컷(핵심로직) 결합된 것 결합시기..