스프링

스프링

Spring Transaction

트랜잭션?https://anythingis.tistory.com/171 [DB] 트랜잭션, 애플리케이션의 트랜잭션 제어트랜잭션이란 데이터를 저장할 때 단순히 파일에 저장해도 되지만, 데이터베이스에 저장하는 가장 큰 이유입니다. 트랜잭션은 그대로 번역하면 거래인데, 데이터베이스에선 하나의 거래를 안anythingis.tistory.com주로 DB에서 활용되는 개념이지만, 애플리케이션에서 데이터를 다루고 DB에 저장하기에, DB에서 커밋이 되거나 롤백 된 후 비즈니스 로직까지 연계된 로직을 처리하기 위해 스프링도 트랜잭션 기능을 제공합니다. 스프링 트랜잭션스프링은 다양한 DB 접근 기술과 같이 활용할 수 있습니다.JDBCpublic void accountTransfer(String fromId, String..

개발로그

[Mybatis] JPA 고수인 내가 Mybatis 세계에선 뉴비?

사실 JPA 고수 아닙니다.   자바 백엔드 시작을 김영한님의 강의를 보고 시작한만큼 DB접근 기술을 JPA밖에 몰랐었고, 올해 초에 프로그래머스에서 진행한 단순 CRUD 구현을 그만 ! 스터디를 들으면서 JDBC Template를 써보긴했지만 스터디 커리큘럼을 따라가면서도 테이블 정의하는 것과 PrepareStatment로 쿼리짜는 게 귀찮아 DBA의 튜닝 쿼리를 빠르게 적용할 수 있겠다는 장점만 기억하는 것과 JPA를 쓰고 싶다는 생각만 했었던 것 같습니다. JPA를 한번 더 추상화한 스프링 데이터 JPA를 사용하면서 얼마나 많은 부분이 추상화된지 이론적으로 공부는 했지만 마이바티스를 다뤄보면서 직접 테이블 생성과 쿼리를 짜며 프로젝트를 진행하며 사용한 후기를 정리합니다. Mybatis-Spring ..

스프링

[Spring] 의존성 주입의 종류

Spring IoC Container가 Bean을 관리할 때는 객체관리 뿐아니라 객체 내에 필요한 객체를 의존성 주입으로 해결한다. 의존성 주입은 필요한 객체를 생성하는 것이 아닌 외부로 부터 객체를 받아 사용하는 것이다. 관련 작성 포스팅 의존성 주입은 왜 필요한가? 스프링은 @Autowired 어노테이션을 이용한 다양한 의존성 주입 방법을 제공하는데 종류는 생성자, 수정자, 필드로 나뉜다. 필드주입 1. 코드가 간결하다. 2. 외부에서 변경이 불가능해 테스트시 모킹이 필요하다 3. 스프링 컨테이너 없이 의존성 주입이 힘들다 4. 객체가 생성된 이후에 주입하므로 final 키워드를 사용할 수 없어 해당 객체의 불변을 보장하지 못한다 @Service public class ProductService { ..

자바

비즈니스 로직

현실세계에서 발생하는 사건 중 SW 서비스를 통해 해결할 문제의 영역을 도메인, 비즈니스라고 한다. 따라서 비즈니스 로직은 현실세계의 문제를 해결하는 로직이 담긴 코드를 의미한다. 비즈니스 로직을 제외한 모든 코드는 비즈니스 로직을 SW에 적용하기 위한 애플리케이션 서비스 로직이라 한다. 웹 프로그래밍의 기초인 커뮤니티, 게시판 도메인을 예로 든다면 비즈니스 로직 글의 CRUD, 회원가입, 로그인 애플리케이션 서비스 로직 클라이언트와 웹 통신을 위한 컨트롤러, 도메인 비즈니스 로직의 호출을 위한 서비스, 서버와 DB를 연결해주는 레포지토리 관점의 분리 둘을 구분하는 이유는 스프링의 삼대 요소 중 하나인 관점의 분리를 위해서이다. 비즈니스 로직과 애플리케이션 서비스 로직을 나눠 응집도를 높히고 결합도를 낮..

스프링

WAS, Servlet Container

WebServer VS WAS(Web Application Server) 웹서버 정적인 html, css, 파일 등의 정적 컨텐츠를 사용자 요청에 따라 보냄 WAS 웹서버와 웹 컨테이너를 포함하거나 웹 컨테이너를 자체를 뜻하고 사용자가 동적 컨텐츠 이용시에는 웹서버는 웹 컨테이너에 요청해 응답을 보내준다. Servlet 웹서버를 거쳐 넘어온 요청, 응답을 자바 프로그램과 소통할 수 있게 웹 서버와 소켓을 만들어 통신을 지원하는 자바 API 동적 웹 페이지(요청에 따른 비즈니스 로직 적용한 응답)을 만들 때 사용 Servlet의 생명주기 서블렛 클래스 로딩 및 인스턴스화 : 요청이 오면 Servlet 클래스가 로딩되어 요청에 대한 Servlet 객체 생성 초기화 : init() 메소드 호출로 Servlet..

스프링

Spring Security의 구조, 인증 인가 처리과정

스프링 시큐리티는 스프링 기반의 애플리케이션에서 인증과 권한을 통해 접근을 필터로 제어하는 프레임워크로 개발자가 보안 관련 로직을 일일히 작성하지 않아도 된다는 장점이 있다. 인증, 인가? 인증(Authentication) : 해당 사용자가 본인이 맞는지 확인하는 과정 인가(Authorization) : 해당 사용자가 요청하는 자원을 실행할 수 있는 권한이 있는가 확인하는 과정 인증을 로그인을, 인가는 로그인이 필요한 서비스에 접근하는 것이라고 보면 된다. Spring Security에서는 인증, 인가를 위해 Principal을 아이디로, Credential을 비밀번호로 사용하는 Credential 기반의 인증 방식을 사용한다. Principal(접근 주체) : 보호받는 리소스에 접근하는 대상 Crede..

비오베베
'스프링' 태그의 글 목록