필드에 객체를 생성 하며 의존성을 주입하는 방식DI 컨테이너가 필수적으로 사용되어야 한다.테스트가 불편하다 Setter 기반 주입단점으로는 런타임 시 재 호출 될 수도 있어서 문제가 될 수도 있다.목 삽입 등 테스트 환경 만들기가 간단하다.객체가 생성되면서 자동적으로
요청 파라미터의 경우 @RequestParam@ModelAttribute두개를 활용해 요청 파라미터를 가져올 수 있지만HTTP 메시지 바디에 직접 데이터가 넘어오는 경우에는 사용 할 수 없다.HTML FORM 형식인 경우에는 요청파라미터로 인식된다.InputStream
War : Tomcat이 외부에 있고 JSP를 사용할 때.Jar : 내장 톰캣을 사용하고 webapp 경로도 사용 안함.jar는 /resources/static/index.html이 Welcome페이지로 처리해준다운영 시스템에서는 System.out을 사용하지 않는다
어노테이션 기반의 스프링이 되기 전 자주 사용Controller 인터페이스와 어노테이션 @Controller는 다르다 핸들러 매핑에서 찾을 수 있어야 한다.ex ) 스프링 빈의 이름으로 핸들러를 찾을 수 있는 핸들러 매핑이 필요하다0순위 RequestMappingHa
화면을 처리하는 부분비지니스 로직을 구성하는 로직이 두개의 기능이 하나의 처리에서 수행된다.어디를 손보든 계속 둘다 관리해줘야 한다.코드의 길이가 커버할 수 없을 정도로 길어진다.변경의 라이프 사이클이 다르면 분리해야한다화면의 글자 크기 수정은 비지니스 로직이 관계가
고정된 HTML , CSS , JS , 이미지 ,영상 , 파일등주로 웹 브라우저.ex ) 주문내역 보여주세요 요청 /order/list.htmlWAS : DB 조회 후동적으로 HTML 생성 (JSP, 타임리프) :: VIEW Templateex ) 주문정보 보여주세요
2022 . 10 . 30 핵심 기술 강의 시작핵심 기술웹 애플리케이션의 이해서블릿 , JSP , MVC 패턴MVC 프레임 워크웹개발기본 기능핵심 구조활용 기술공통 기능확장 포인트활용쿠키,세션필터 , 인터셉터예외처리타임리프메시지 , 국제화검증모든 것이 HTTPHTML
영한님의 로드맵중 2번째인 스프링 핵심원리 강의를 마무리 하게 되었다.원래 내용을 노션에 정리했는데 다음 강의부터는 벨로그와 같이 작성해야 할것 같다.원래는 일자별로 작성해 정리했는데 다음에는 학습별로 나눠서 정리해봐야 할 것 같다.마지막 강의에서 설명하시기를 야생형
SOLID 단일 책임의 원칙 Single Responseiblity Principle > Ex) 어떠한 변경이 있을때 변경 요소가 적으면 적을수록 잘 준수한 것 영역을 나누는 것도 준수하기 위한 노력인것 개방 - 패쇄 원칙 Open / Closed Principl
DataSessionSecurityRest Docsbetch(?) ( 대규모 업데이트 시 분할 처리 지원을 위한 기능 )cloude!\[Pasted image 20220915193841.png]킹영한님의 설명!\[Pasted image 20220915201531.png
의존성을 주입한다.......참 뭔가 애매한 단어인거 같다내가 처음 DI를 듣고 생각한 말이다 누가 누구에게 의존성을 주입하며 어디서부터 어디까지 이양하는지 헷갈렸다새로운 프로젝트를 IntellJ에서 오픈하는 경우 Maven으로 오픈해야 한다.<String Key
톰캣설치경로/conf/server.xml : Tomcat 관련 설정파일톰캣설치경로/conf/web.xml : Tomcat 관련 모든 Webapp의 공통 설정웹앱이름 / WEB-INF / web.xml : webapp 별 개별 설정Server > service(Cata
로그인 한 회원은 본인이 작성한 게시글을 수정할 수 있다 수정에 해당하는 코드를 정리한 글 버튼에 그냥 a태그를 박아버렸다.
스프링의 경우 @ 선언적 트랜잭션 처리게시글 작성 + image삽입 구현Spring에서 트랜잭션 처리하는 방법AOP (관점 지향 프로그래밍)을 이용해 DAO -> Service 또는 Service 코드 수행 반환되는 시점에예외가 발생시 rollback을 수행 (관점지향
mybatis에서 자랑하는 가장 강력한 기능동적 SQL : mybatis의 가장 강력한 기능이전에는 게시글 작성 시 먼저 다음 게시글의 시퀀스 번호를 SELECT해 온 후 변수에 저장한 다음그 번호를 가지고 다시 한번 DAO를 수행해야 했다이러한 두번의 Service
오전 수업을 게시글을 작성 후 업로드 하는 부분을 구현했다loginSession이 null이 아닐 경우 . 게시글 작성 버튼이 활성화 되는 코드를 작성했었다 하지만 연결된 버튼의 주소가 Servlet Project 당시와 좀 달라져 board.js의 즉시 실행 함수를
Loggger로 info / debug 등 여러 기능을 찍어봤지만추가적인 라이브러리를 활용해 Mybatis 수행 sql + 결과를 찍어 볼 수 있었다이거 pom에 Depandency 추가하다가 인텔리제이랑 STS랑 충돌나서 개 지랄지랄을 했다 결과적으로는 추가된 종속석
스프링에서 자체적으로 지원해주는 파일 업로드 지원 라이브러리 사용법에 관해 배웠다.원래는 COS 라이브러리를 이용해 별 짓을 다 했지만 이제는 그러지 않아도 괜찮다뭐가 됬든 가장 먼저 해야 하는 거!input type="file"만 추출해 저장하는 MultipartFi
Mapper 추가 >기존에는 member관련 Mapper에 RequestMapper SessionAttribute ModelAttribute Apache Commons FileUpload