절차 간소화표준화 -> 분업 가능 -> 비용,시간 줄어든다 EJB(enterprise java bean)에 비해서 가볍다 Ioc (DI)를 쓴다 AOP (관점지향 프로그래밍)Container서블릿 컨테이너 : url이 들어왔을 때 주소에 대응되는 객체(서블릿)을 만들
결합도를 낮추는 방법에 팩토리 패턴이 있다.BeanFactoryTVUserBeanFactoryTVUser
Bean : 관리되어지는 객체, 스프링 프레임워크에서 관리하는 객체 파일 생성bean 객체 만들기name 또는 id , name은 특수문자까지도 올 수 있다.보통은 id를 더 많이 쓴다.TVUser스프링에서 configuration 파일을 이용하여 어떻게 객체를 꺼내고
: 객체를 외부에서 주입한다 생성자 이용configuration 파일을 이용하여 주입 SonySpeakerSamsungTVTVUser생성자의 매개변수로 여러개를 줄 수도 있다 등록한 매개변수에 인덱스를 주어 순서를 명확하게 할 수도 있다 주지 않으면 쓰여진 순서대로 쓴
property : 필드명이 아니라 setter / getter메서드에서 set/get을 뺀 이름. 보통은 필드명과 동일하지만, 다를 경우엔 반드시 메서드 이름을 따라가야 한다.SamsungTV에 setter메서드 만들기 sony를 주입했으므로 호출 p namespac
list처럼 여러개의 값을 가지는 객체를 주입할 때 configuration 파일을 이용한 주입 CollectionListCollectionBeanMainCollectionSetCollectionBeanMainCollectionMapapplicationContext.x
namespaces에서 context 추가TVUsername을 주면 name으로 사용.LgTVSonySpeaker
Aspect Oriented Programming
boardServiceClient 실행시 userServiceClient 실행시 user1로 바꿀시 user1 정보 출력
Annotation사용을 위해 xml 파일 설정 LogAdviceBeforeAdviceAfterReturningAdviceAfterThrowingAdvice예외 발생을 위한 코드 추가 AfterAdviceAroundAdvicepointcut을 한군데에 몽땅 몰아넣자Po
dependency 추가 db풀 라이브러리도 추가
xml 파일에서 네임스페이스 tx 추가 xml파일에 코드 추가BoardServiceImpl insert메서드 한번 더 실행하도록 코드 추가 BoardDAOSpring쿼리문 수정 물음표와 대응하도록 getSeq도 추가 BoardServiceClientseq는 primar
action은 Dispatcher servlet의 설정 파일 (디스패처 서블릿은 스프링 컨테이너 구동시 무조건 action 파일을 찾아 로딩한다)dispatcher servlet의 역할 : 프론트 컨트롤러로부터 톰캣으로부터 들어오는 신호를 다른 컨트롤러로 연결시키는 역
BoardControllerget / post 모두 받는다.get/post 분리LoginController파라미터로 전달되는 객체 = command 객체라고 한다.LoginControllerlogin.jspid와 password에 value를 추가한다. index.js
servlet에서 사용하는 공유공간 사용을 위해 request, session을 매개변수로만 줘도 사용 가능 session으로 user name을 저장하면 jsp에서도 쓸 수 있다.LoginControllergetBoardList.jspuser1로 로그인시 Contro
@SessionAttributesRequest요청중에 board라는 이름의 객체가 Model에 저장되어있으면그것을 Session에 저장해라기존의 값들이 필요할 때는 session attribute를 이용하여 저장 할 수 있다. (작성자, regdate, cnt의 정보도
insertBoard.jsppom.xml에서 commons 추가 BoardVO에 필드, getter/setter 추가 presentation-layer.xml파일 업로드 메서드 추가BoardController
예외 처리를 위한 방법으로 XML과 어노테이션을 사용할 수있다.LoginController 로그인 할 때 아이디가 null이거나 입력값이 없다면 오류가 나도록 처리했다.로그인 아이디를 공백으로 로그인 하면 뜨는 오류 페이지. 그러나 내부의 정보를 보여주는 것은 보안상
message 패키지 및 하위 파일들을 만든다messageSource_en.propertiesmessageSource_ko.properties한국어(아시아권 언어)는 유니코드로 변환하여 등록해야 한다.그래서 먼저 txt 파일에 쓴 후 properties파일에 복사 붙여
spring에서는 json 변환을 위해 jackson 라이브러리를 많이 쓴다. dependency 추가 2.9.7버전으로!!presentation-layer.xmlindex.jspdataTransform 추가 실행 결과
persistence framework : 데이터베이스는 서비스 중에 불안정한 상태가 되면 안된다. 지속성이 중요하다. 지속성, 활용도를 높일 수 있게 도와주는 프레임워크이다. spring jdbcTemplate을 사용할 때 불편한 점이 있었다. sql문 작성시 실수
spring과 mybatis 연동 라이브러리 추가 파일 추가sql-map-config.xmlapplication.xmlsessionFactory를 클래스로 만들지않고 bean으로 생성 DAO를 구현하는 방법에는 두가지가 있다.SqlSessionDaoSupport클래스를
DynamicSQL을 이용하면 조건에 따라 다양한 쿼리를 데이터베이스에 전송할 수 있다. 새로운 조건이 추가되더라도 sql문을 일일이 만들지 않아도 되므로 코드의 양이 줄어들고 유지보수가 편해진다.board-mapping.xmlWHERE 1=1 : AND 조건절을 붙이
ORM : 객체와 관계형 데이터 베이스를 자동으로 매핑하는 방식 JPA : JAVA에서 제공하는 API, ORM을 사용하기 위한 인터페이스maven 프로젝트 생성 후 -> help -> install new software