Back-End/Spring 90

스프링 - AOP(부제: AOP란 무엇이고 스프링이 제공하는 AOP는 어떻게 다른지 알아보자)

1. 서론(AOP가 어떻게 부가기능의 단점을 해결했을까?) 애플리케이션 로직은 두가지의 기능으로 구성되어 있다. 핵심 기능 애플리케이션에서 단독으로 사용할 수 있고 애플리케이션에서 필수로 하는 기능등이 이에 해당한다. ex) 아카이브나 업무 로직을 포함하는 경우가 핵심 기능에 해당한다. 부가 기능 단독으로 사용할 수 없는 기능을 부가 기능이라고 부르고 핵심 기능에 함께 사용하는 기능을 부가 기능이라 한다. ex) 로그 추적, 트랜잭션 기능 등이 부가 기능에 해당한다. 부가 기능의 단점 하나의 부가 기능이 여러 핵심 기능에서 사용된다할 때 여러번 코드 반복의 문제가 있다. 여러 곳에서 사용될 때 유지보수가 어렵다는 단점이 있다. 위의 단점으로 aop를 적용시켜 해당 부가 기능의 단점을 해결하고자 한다. 2..

Back-End/Spring 2023.03.17

스프링 - @Aspect AOP(부제: 스프링 내에서 프록시 적용을 쉽게 해주는 @Aspect )

스프링내에서 @Aspect @Aspect 스프링에선 aop(관점 중심 프로그래밍)을 차용해서 프록시를 적용할 수 있게 했다. 프록시 적용? 프록시 적용을 위해서 pointcut과 advice로 구성을하고 이 두개를 묶어서 advisor이라고 한다. 더 정확하게는 advisor를 스트링 빈으로 등록하기 위함이다. pointcut이 매칭이 제대로 될때만 적용된다,. advisor = Pointcut + advice Pointcut 메서드 실행 시점의 상세 스펙을 정의한 것을 의미한다. advice Method가 적용될 비지니스 메소드를 필터링할 때 사용해준다. 실행 범위 advice 실질적으로 부가 기능을 담을 구현체로 쉽게 말하면 어떤 일을 할지에 대한 정의를 의미한다. 쉽게 표현하자면 자바 클래스 메소드..

Back-End/Spring 2023.03.17

[Spring DB][자바 예외] - 체크, 언체크 예외의 활용 그리고 예외 포함 스택 트레이스

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/As6W 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 목차 1. 체크 예외 활용 2. 언체크 예외 활용 3. 예외 포함과 스택 트레이스 1. 체크 예외 활용 현재 실무에서는 체크 예외보단 언체크 예외를 사용하는 것이 일반적이라고 한다. 대부분 다 언체크 예외를 사용하고 예외적으로 비지니스 로직에 문제가 발생해서 이 문제를 ..

Back-End/Spring 2022.07.20

[Spring DB][자바 예외] - 자바의 예외 이해

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/As6W 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 목차 1. 자바 예외의 계층 2. 예외의 기본 규칙 3. 체크 예외의 기본 이해 4. 언체크 예외의 기본 이해 5. 체크 예외와 언체크 예외의 차이 1. 자바 예외의 계층 자바에서 객체의 최고 조상이 object이기에 예외의 최상이 부모 역시 Object이다. 예외의 최..

Back-End/Spring 2022.07.12

[Spring DB][커넥션풀과 데이터소스 이해] - DataSource의 이해

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/As6W 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 목차 1. DataSource와 커넥션 풀 2. DriveManager와 DataSource(DriveManagerDataSource) 3. HikariDataSource 4. DataSource 데이터베이스에 적용 5. Connection Pool과 DataSource..

Back-End/Spring 2022.06.24

[Spring DB][커넥션풀과 데이터소스 이해] - 커넥션풀과 데이터소스란 무엇인가?

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/As6W 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 목차 1. 커넥션풀(ConnectionPool) 2. 데이터소스(Data source) 1. 커넥션풀(Connection Pool) 커넥션풀 이전의 문제 상황 DriveManager를 통해서 데이터베이스에 커넥션을 요청하면 매번 새로운 커넥션을 획득한다. 이때 커넥션을 ..

Back-End/Spring 2022.06.22

[Spring DB][JDBC 이해] - JDBC 사용

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/As6W 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 목차 1. JDBC 등장 배경 다시 정리 2. JDBC 개발 등록, 조회, 수정, 삭제 3. close() 1. JDBC 등장 배경 다시 정리 JDBC 표준 인터페이스를 구현해서 데이터베이스마다 다른 커넥션 연결, SQL 전달, 결과 응답에 대한 각 다른 것을 통일 시켰..

Back-End/Spring 2022.06.22

[Spring DB][JDBC 이해] - JDBC와 ORM SQL Mapper에 대해서 알아보자.

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/As6W 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 목차 1. JDBC의 등장 배경 2. JDBC와 최신 데이터 접근 기술 1. JDBC의 등장 배경 클라이언트가 애플리케이션 서버를 통해서 데이터를 전달, 저장, 조회 할 때 애플리케이션 서버는 다음과 같이 동작한다. 애플리케이션 서버 동작 커넥션 연결(TCP/IP로 커넥..

Back-End/Spring 2022.06.21

[Spring MVC2][API 예외처리] - 기본 예외처리, 서블릿 예외처리, 스프링이 지원하는 API 예외처리

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 목차 1. 기본 예외처리 2. 서블릿 예외처리 3. 스프링 예외처리 4. 정상 코드와 예외 처리 코드의 분리 - @ControllerAdvice 기본 예외처리 HTML의 경우엔 오류 페이지만 있다면 대부분의 문제를 스프링 측에서 해결해준다. 그러나 API의 경우엔..

Back-End/Spring 2022.06.02

[Spring MVC2][예외 처리와 오류 페이지] - 스프링이 지원하는 오류 페이지 처리 방식

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 목차 1. 스프링 부트 - 오류페이지 1 2. 스프링 부트 - 오류페이지 2 스프링 부트 - 오류페이지 1 예외처리를 위해서 앞서서는 다음과 같은 복잡한 과정을 거쳤다. 서블릿이 제공하는 예외 발생 시 해당 페이지를 제공해주는 클래스를 생성해야 했다. 예외 종류에..

Back-End/Spring 2022.05.30