Spring Web Project
-
02. TransactionSpring Web Project/7. AOP와 트랜잭션 (Transaction) 2021. 1. 31. 15:52
1. 트랜잭션의 기본 원칙(ACID 속성) 1) 원자성(Atomicity) : 하나의 트랜잭션은 모두 하나의 단위로 처리 2) 일관성(Consistency) : 트랜잭션이 성공했다면 DB의 모든 데이터는 일관성 유지 3) 격리(Isolation) : 트랜잭션으로 처리되는 중간에 외부의 간섭은 없어야함 4) 영속성(Durability) : 트랜잭션이 성공적으로 처리되면, 그 결과는 영속적으로 보관 2. 트랜잭션 매니저 설정 > 하나의 DataSource를 사용하는 경우, 스프링에서 제공하는 DataSourceTransactionManager를 이용, DataSource 주입 > 은 @Transactional 애노테이션을 이용한 트랜잭션 관리가 가능 Note) @Transactional 우선순위 1) 메소드..
-
01. AOPSpring Web Project/7. AOP와 트랜잭션 (Transaction) 2021. 1. 28. 12:34
1. AOP(Aspect Oriented Programming) 개념 > '비즈니스 로직은 아니지만, 반드시 해야 하는 작업' > 횡단 관심사(cross-concern) : 공통으로 사용되지만, 그 자체가 목적은 아니다. > 대표적인 예 : 보안 처리, 로그 기록, 문제 발생 시를 대비한 이중 백업 등 2. AOP 관련 용어 용어 설명 Aspect 공통 관심사에 대한 추상적인 명칭. 예를 들어 로깅이나 보안, 트랜잭션과 같은 기능 자체에 대한 용어 Advice 실제로 기능을 구현한 객체 Join points 공통 관심사를 적용할 수 있는 대상(작성된 Advice가 활약할 수 있는 위치 의미). Spring AOP에서는 각 객체의 메소드가 이에 해당 Pointcuts 여러 메소드 중 실제 Advice가 적..
-
08. 댓글 - ViewSpring Web Project/6. Ajax 댓글 (Reply) 2021. 1. 16. 11:28
Note) Javascript Template : '만들어진 HTML 코드에 데이터(객체)를 넣어 찍어내는 틀' 1) JS Render (http://www.jsviews.com/ 2) Mustache(https://mustache.github.io/ - handlebars, Hogan 등 [템플릿 방식의 장점] 1. 데이터와 뷰를 분리해서 처리 - 복잡한 HTML 태그를 이용해서 데이터를 구성하는 경우 문자열로 작성되는 결과를 알아보기 어려움 2. 템플릿을 변경하기 쉬움 - 유지보수 용이 3. 템플릿의 재사용 가능 - 생산성 향상 1. HTML 변경 2. jQuery 라이브러리 로딩 3. handlebars 템플릿 코드 4. 페이징 처리 5. [등록] 6. Modal창 > Modal창(팝업과 유사하지만..
-
05. 수정 Controller (REST 방식)Spring Web Project/6. Ajax 댓글 (Reply) 2021. 1. 11. 08:55
Note) 일반적으로 전체 데이터 수정 시 PUT, 일부 데이터 수정 시 PATCH 이용 1. Controller 2. Advanced REST Client를 이용한 TEST 3. DB 확인 4. HiddenHttpMethodFilter 태그 내에서 과 같은 형태로 사용해서 GET/POST 방식만을 지원하는 브라우저에서 REST 방식을 사용할 수 있도록 설정할 때 사용 > POST + _method value='put' : PUT 방식 > POST + _method value='delete' : DELETE 방식
-
03. 등록 Controller (REST 방식)Spring Web Project/6. Ajax 댓글 (Reply) 2020. 12. 29. 13:11
Note) annotation > @PathVariable - URI의 경로에서 원하는 데이터를 추출하는 용도로 사용 > @RequestBody - 전송된 JSON 데이터를 객체로 변환해주는 애노테이션으로 @ModelAttribute와 유사한 역할을 하지만 JSON에서 사용된다는 점이 차이 1. Controller 2. Advanced REST Client를 이용한 TEST 3. DB 확인