본문 바로가기

웹(Web)/Spring4

[Spring] 로그 작성 로그 작성하는법(라이브러리) 1. log4j 2. logback 로그레벨 : Error, Warn , Info, Debug, Trace 2023. 4. 5.
[Spring] 캐싱이란? 캐싱 => 변하지 않는 값(과거의 서울 날씨 등)을 캐싱을 통해 api 사용료, 서버부하 절감 @Scheduled(cron="001***") => 매일 새벽 1시마다 실행 / 각각은 초분시날달주 0/5 ***** 은 5초마다 실행 2023. 4. 5.
[Spring] 트랜잭션(Transaction)이란? 트랜잭션이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업단위 원자성,일관성,독립성,지속성 => 원자성을 만족시키기위해 전체를 커밋(commit)시키거나 롤백(rollback)시킨다. 여러 트랜잭션이 경쟁하면 (서로다른 사용자가 같은 내용을 수정중일때 조회하려함) => dirty read 여러 트랜잭션이 경쟁하면 (특정값을 a가 쿼리 2번날릴때 중간에 b가 커밋) => non-repeatable read 일관성 해침 여러 트랜잭션이 경쟁하면 (특정 범위 내 a가 쿼리2번날릴때 중간에 b가 커밋) => phantom read 일관성 해침 spring에서는 @Transactional으로 클래스,메서드 위에 추가 => 트랜잭션 기능이 적용된 프록시 객체 생성 Isolation (격리수준) : 트랜잭션에서.. 2023. 4. 4.
[Spring] JPA란? 오늘은 https://start.spring.io/를 통해 스프링을 시작하고, test code 를 통한 TDD를 경험해보았다. JDBC: SQL Mapper중 하나 => 직접 SQL 쿼리를 작성 -> 단점: 매번 db마다 쓰기 힘듬 JPA: ORM(Object Relation Mapping)중 하나 => java의 객체와 db의 테이블을 연결시켜주면 SQL 쿼리 자동완성 mysql mac에 설치 윈도우와는 다르게 mac에서는 brew install mysql과 https://dev.mysql.com/downloads/workbench/ workbench도 설치해줘야한다. 일반적으로 mysql port number = 3306이다. 인텔리제이와 연결해주기위해 https://dev.mysql.com/dow.. 2023. 4. 4.
728x90