본문 바로가기

Spring

(29)
RMI - 서버와 클라이언트 분리 테스트/방화벽 (포트)열기 *)현업에서는 자주 사용하나, 프로젝트에선 다루지 않는다. )RMI메서드 원격 호출 기술https://drcode-devblog.tistory.com/287 *)객체의 사용기능을 반드시 인터페이스를 통해 제공해야함(클래스 기반 불가)  *)윈도우, 리눅스의 경우 방화벽을 열어야 함.이후에 다음만 누르다가...포트가 열린 것 체크하기 -> 서버용 프로젝트와 클라이언트용 프로젝트로 나누기*)클라이언트 프로젝트에는 db에 접속할 수 있는 파일을 모두 삭제 (context파일, impl클래스) *)서버 프로젝트의 기능을 클라이언트 프로젝트에서 활용=> 실제로 같은 컴퓨터에서 서버와 클라이언트를 같이 실행하는 경우는 없다(수업 목적 상 진행)
Aop - Transaction - 예제(입고,출고 취소) )입고 취소(재고 수량도 같이 줄어야 함)-> 취소할 입고(출고) 정보의 idx를 받아옴*) 인자를 int idx로 받아도 된다. (vo에서 idx의 정보만 사용하는 것은 큰 의미가 없다)
Aop - Transaction/트랜잭션 예제(입고, 출고, 재고) -> 성공하면 모두 성공, 실패하면 모두 실패-> 트랜잭션은 커넥션(DBCP/1-0)에서 걸린다(1-1 -> 1-0으로 보내줌)-> 4번에서 생긴 예외를 1-1에서 처리해준다(작업이 용이함)  -> expression 수정 // 모두 연결되어있음(롤백시, 전부 취소가 되게끔)-> 모니터링 용도, 있으나 없으나 차이는 없음. )예제)sql--입고create sequence seq_product_in_idxcreate table product_in( idx int, --일련번호 name varchar2(255), --상품명 cnt int, --입고수량 regdate date --입고일자)alter table product_in add constr..
Aop - 테스트 -> 자바 패키지에 붙여넣기-> 다음과 같이 수정(모든 service를 다 받겠다) -> Dao, DaoImpl 만들기 ->Service, ServiceImpl 만들기 (아직 injection된 상태는 아님) )Controller에 연결-> 비로소, 3개가 연결 됨 (dao, service, controller) -> 위의 주석은 정확하게 나타낸 표시*) pointcut은 필요에 따라 추가할 수 있음. ->웹은 여러 사람의 요청을 받게 되기 때문에 전역변수로 활용하면 안됨.=>요청자 본인만 사용할 수 있는 공간(HttpServletRequest)에 넣어놔야 함. -> reauest를 활용하여 start 변수의 정보를 받아온다.
AOP - 환경설정 ->'aop' 검색해서 읽어보기  )AOP란? 관점 지향 프로그래밍이라고도 불린다. 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나눠보고 그 관점을 기준으로 각각 모듈화 하겠다는 의미. 핵심적인 관점: 개발자가 적용하고자 하는 핵심 비즈니스 로직.->aop는 이렇게 불필요한 코드를 줄여준다.(파란 영역) 비즈니스 로직: 실제 활용 코드  )기본 환경 설정은 스프링Mybatis과 동일하다.)추가 aop 설정-> pom.xml에 추가*) 스프링 부트에서는 라이브러리 기본 설정이 다 되어 있다. (2번째 라이브러리 제거하기!)-> 복사해서 context 문서만들어서 추가 추가로 넣어주기-> 완성 -> 그냥 이거 쓰기( 제거된 버전)
Spring - Ajax로 클라이언트에서 데이터 처리(SPA) 프론트 단에서 데이터 처리(ajax 활용)-> 자바스크립트로 UI만들어두기 )추가 폼&추가 )삭제-> 비밀번호 체크 먼저 해주기 )수정 폼&수정(3단계)-> 1)비밀번호 체크 후,-> 2)일치하면 수정폼(모달)을 띄운다.-> 3)수정1) 비밀번호 체크)수정폼-> 수정 폼에서 수정하기 버튼을 눌렀을 때, 수정코드(추가 코드와 매우 유사/변수명만 달리해주고, 메서드를 PUT으로 변경하고, idx만 추가로 받아준다.)
Spring - JSONConverter - rest api CRUD 예제 )rest란?https://khj93.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-REST-API%EB%9E%80-REST-RESTful%EC%9D%B4%EB%9E%80 UI와 서버가 값을 주고 받을 때 rest api를 활용한다. (서버단과 프로트단을 분리하기 위함) )CRUD1. 전체조회method: GETURI: /rest/visits 2. 1건조회method: GETURI: /rest/visit/{idx} -> /rest/visit/1 3. 추가(idx받아오지 않음)method: POSTURI: /rest/visit-> POST 방식일 때, 데이터 넘기기 4. 수정(idx받아와야함)method: PUT(대부분 사용)/PATCHURI: /rest..
Spring - JSON converter - JSON형태로 전환/환경 설정 https://ckeditor.com/ckeditor-4/-> JSON convert를 위함. (참고용)-> SpringBoot에서는 활용 안함(프레임워크에서 라이브러리로 활용 - pom파일)-> 기본 환경설정 끝 테스트(map -> json)JSON은 모든 객체를 변환해준다 (객체 -> json) (ArrayList -> json)  (객체ArrayList -> json) (객체 ArrayList의 상세 정보(Map) -> json)