728x90
반응형

Back-end/SpringBoot 7

AWS S3 사용하는법!

AWS S3란?Amazon Simple Storage Service(S3)는 확장 가능하고 고가용성 및 보안성을 갖춘 객체 스토리지 서비스다.@Configuration을 통해 S3 클라이언트 설정서비스 계층에서 파일 업로드 및 다운로드 기능을 구현컨트롤러를 통해 RESTful API를 제공위 과정을 거치면 간편하게 파일 관리 기능을 제공할 수 있고 클라이언트는 웹의 어디에서나 데이터를 저장하고 검색할 수 있다.주요 특징무한대에 가까운 확장성을 가진다. S3는 엄청난 양의 데이터를 저장할 수 있다. 여러 시설에 데이터를 자동으로 복제해, 99.999999999% (11 9's)의 고가용성 및 내구성을 제공하고 데이터 손실을 방지한다.데이터를 암호화할 수 있어, 다양한 규정 준수 요구사항을 충족하는 보안 및..

Back-end/SpringBoot 2024.07.15

스프링에서 DB 트랜잭션을 어떻게 사용할까?

스프링 부트에서의 DB 트랜잭션은?트랜잭션이란?DBMS에서 일련의 연산들을 하나의 단위로 묶어 처리하는 작업이다.한 작업 단위는 모두 성공하거나 모두 실패해야 하고, 부분적으로만 성공하는 상태는 허용되지 않는다.트랜잭션은 데이터베이스의 일관성을 유지하고 데이터 무결성을 보장하기 위해 중요한 역할을 하고있다.스프링 부트는 트랜잭션 관리를를 위해 다양한 기능을 제공하고 있고, 덕분에 디비 작업은 일관성과 무결성이 보장되고 있다.@Transactional 애너테이션을 사용하면 코드의 간결성과 가독성을 높이면서도 트랜잭션의 일관성과 무결성을 보장할 수 있다!트랜잭션 전파 속성, 격리 수준, 롤백 조건 등을 적절히 활용하여 안정적이고 신뢰할 수 있는 데이터베이스 작업을 구현하는 것이 상당히 중요하당트랜잭션의 기본..

Back-end/SpringBoot 2024.07.15

Persistence Context란 무엇일까?

영속성 컨텍스트(Persistence Context)란?JPA(Java Persistence API)의 핵심 개념 중 하나로, 엔티티 객체를 관리와 데이터베이스와의 동기화를 담당하고 한다.Entity의 생명 주기를 관리데이터베이스와의 상호 작용을 효율적으로 처리하는 역할객체 지향적인 방법으로 데이터베이스 작업 가능성능 최적화 및 데이터 일관성을 보장특정 엔티티 매니저(EntityManager)와 관련된 저장소 -> 엔티티 매니저를 통해 관리되는 엔티티 객체들을 보관결론영속성 컨텍스트는 JPA의 강력한 기능으로, 이를 통해 개발자는 객체 지향적인 방식으로 데이터베이스 작업을 수행할 수 있으며, 니다. 하지만 메모리 관리와 준영속 상태의 엔티티 처리에 주의를 기울여야 합니다.주로 하는 일엔티티의 생명 주기..

Back-end/SpringBoot 2024.07.15

JWT 토큰 기반 로그인 구현하기(1)

의존성 추가유저 모델 및 리포지토리JWT 유틸리티 클래스유저 서비스JWT 필터컨트롤러스프링 시큐리티 설정이 포스팅에는 1~4단계 까지만 담았다.1. 프로젝트 설정 및 의존성 추가build.gradle 파일에 필요한 종속성을 추가한다.// build.gradledependencies { implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'io.jsonwebtoken:jjwt:0.9.1' implementation 'org.springframework.boot:spri..

Back-end/SpringBoot 2024.07.08

Bean이란 무엇일까?

빈(Bean) 이란?스프링의 핵심 구성 요소로, 스프링 IoC(Inversion of Control) 컨테이너가 관리하는 자바 객체를 의미한다.의존성 주입(Dependency Injection)을 통해 애플리케이션 컴포넌트 간의 결합도를 낮추고 유연성과 유지 보수성을 높여준다.애플리케이션의 비즈니스 로직을 구현에 사용되며, DI와 AOP에서 중요한 역할을 한다.빈의 특징 및 장점재사용성스프링 컨테이너가 관리하는 빈은 여러 컴포넌트에서 재사용될 수 있다.유지보수성의존성 주입을 통해 코드의 결합도를 낮추고, 유지보수성을 높일 수 있다.테스트 용이성빈을 모의 객체(mock object)로 대체하여 단위 테스트를 쉽게 할 수 있다.모듈화빈을 모듈화하여 코드의 구조를 명확하게 하고, 기능을 분리할 수 있다.1. ..

Back-end/SpringBoot 2024.06.24

의존성 주입이란 무엇일까?

의존성 주입(Dependency Injection, DI) 이란?간단히, 객체 간의 의존 관계를 외부에서 결정하고 주입하는 것을 말한다.객체 지향 설계 원칙 중 하나인 의존 관계 역전 원칙(Dependency Inversion Principle, DIP)을 구현하는 방법 중 하나다.의존성과 의존 관계의존성(Dependency)하나의 객체가 다른 객체를 사용하는 경우, 이를 의존성이라고 한다.예를 들어, 서비스 객체가 리포지토리 객체를 사용한다면 서비스 객체는 리포지토리 객체에 의존성을 가지는 것이다.의존 관계(Dependency Relationship):객체 간의 의존성이 형성되는 관계를 의존 관계라고 한다.의존 관계가 형성되면 한 객체의 변경이 다른 객체에 영향을 미칠 수 있다.의존성 주입이 필요한 이..

Back-end/SpringBoot 2024.06.23

Spring과 Spring boot란 무엇일까?

스프링(Spring)스프링(Spring) 은 경량화된 자바 프레임워크다.기업 환경에서의 자바 애플리케이션 개발을 간소화하고, 유지보수성을 높이며, 테스트 가능성을 향상시키는 목적을 가지고 설계됐다.의존성 주입, 제어 역전 등의 기능을 제공하여 개발자가 객체 지향적이고 모듈화된 코드를 작성할 수 있다.스프링 부트(Spring Boot)스프링 부트(Spring Boot) 는 스프링 프레임워크의 하나로, 스프링 기반의 애플리케이션을 빠르고 쉽게 개발할 수 있도록 도와주는 도구다.자동 설정, 내장 서버, 스타터 의존성 등의 기능을 제공해 편리한 개발이 가능하도록 한다.스프링(Spring) 프레임워크의 탄생 배경스프링의 이름은 '봄(Spring)'에서 유래됐다.EJB(Enterprise JavaBeans)의 복잡..

Back-end/SpringBoot 2024.06.23
728x90
반응형