스프링20 [Spring]트랜잭션(transaction)의 이해와 트랜잭션 분리방법 스프링 트랜잭션이란? 스프링 트랜잭션은 데이터의 정합성을 보장하기 위해 사용하는 기능으로, 여러 데이터베이스 작업을 하나의 단위로 묶어서 모든 작업이 성공적으로 이루어져야만 최종적으로 데이터베이스에 반영(commit)하게 됩니다. 만약 이 과정 중 오류가 발생하면, 모든 작업을 이전 상태로 되돌리는(rollback) 방식으로 데이터의 안전성을 유지합니다. 트랜잭션의 특성 (ACID) - 원자성(Atomicity): 트랜잭션 내부의 작업들은 모두 하나로 간주되며, 전부 성공하거나 전부 실패해야 합니다. - 일관성(Consistency): 트랜잭션이 성공적으로 완료된 후에는, 데이터베이스가 일관된 상태를 유지해야 합니다. - 독립성(Isolation): 다른 트랜잭션의 영향을 받지 않고 독립적으로 실행되어야.. 2024. 3. 3. [스프링]base64 암호화 스프링으로 웹 구현시 로그인 할때라든지 비밀번호는 암호화 해서 많이 사용합니다. 가장 기본적으로 사용되는 암호화가 base64 암호화 입니다. base64 인코딩과 디코딩까지 지원해주지만 실무에서는 보안 사항으로 비밀번호에 대해 디코딩을 하지는 않습니다. base64 암호화란? BASE64는 데이터를 안전하게 전송하거나 저장하기 위해 사용되는 인코딩 방식 중 하나입니다. 이 방식은 8비트 이진 데이터를 6비트씩 나누어 문자로 변환하는 방식으로, ASCII 문자로 표현할 수 있는 범위의 문자로만 이루어진 문자열로 변환됩니다. 스프링에서 BASE64 인코딩 및 디코딩하기 스프링 프레임워크에서는 Base64Utils 클래스를 사용하여 BASE64 인코딩 및 디코딩을 수행할 수 있습니다. 스프링 base64 인.. 2024. 3. 1. 스프링에서 자주 사용하는 어노테이션들... 스프링에서 자주 사용하는 필수 어노테이션 스프링 프레임워크에서 어노테이션은 코드에 특수한 의미나 기능을 부여하여, 개발자가 보다 효율적인 설정과 작업을 할 수 있도록 돕는 메타데이터입니다. 핵심 어노테이션 목록 @Component: 스프링에서 관리해야 하는 컴포넌트(Bean)라는 것을 나타냄. @Controller: 웹 요청을 처리하는 컨트롤러임을 나타냄. @Service: 비즈니스 로직을 처리하는 서비스 계층임을 나타냄. @Repository: 데이터 저장소의 역할을 하는 클래스임을 나타냄. @Configuration: 구성 정보를 담고 있는 클래스임을 나타냄. @Bean: 개발자가 직접 제어할 수 없는 외부 라이브러리 등을 Bean으로 등록할 때 사용. @Autowired: 의존성을 자동으로 주입하도.. 2024. 2. 28. 스프링 AOP의 정의 Spring AOP는 스프링 프레임워크에서 제공하는 기능 중 하나로 관점 지향 프로그래밍을 지원하는 기술입니다. Spring AOP는 로깅, 보안, 트랜잭션 관리 등과 같은 공통적인 관심사를 모듈화 하여 코드 중복을 줄이고 유지 보수성을 향상하는데 도움을 줍니다. 스프링 AOP의 핵심 개념 Aspect: AOP의 기본 단위로, 횡단 관심사를 모듈화한 것입니다. Advice: 특정 조인 포인트(Join Point)에서 행동하는 코드로, 예를 들어 메소드 실행 전후에 실행되는 코드가 있습니다. Join Point: Advice가 적용될 수 있는 지점으로, 스프링 AOP에서 메소드 실행 시점입니다. Pointcut: Join Point의 부분 집합으로, Advice가 실제로 적용되는 지점을 정의합니다. Tar.. 2024. 2. 23. 이전 1 2 3 4 5 다음