Home
동준이 블로그
Cancel

[Spring] AOP

AOP(Aspect Oriented Programming)란? AOP is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting concerns. It does this by adding additional behavior...

[Spring] 데이터베이스 접근방식

순수 JDBC 과거에 사용하던 방식이어서 사용하는 방식만 살펴보자 save 메소드에서 사용된 jdbc 로직 public class JDBCMemberRepository implements MemberRepository { private final DataSource dataSource; public JDBCMemberRepo...

[Spring] 빈과 의존관계

Bean이란? the objects that form the backbone of your application and that are managed by the Spring IoC container are called beans. A bean is an object that is instantiated, assembled, and otherwi...

[Spring] 회원 관리 예제

비즈니스 요구사항 데이터 : 회원ID, 이름 기능 : 회원등록, 조회 일반적인 웹 어플리케이션 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체 ex)회원, 주문, 쿠폰 등 주로 데이...

[Spring] 웹 개발 기초

Spring 웹 어플리케이션에서 브라우저에게 응답하는 방식은 다음과 같이 크게 3가지로 나눌 수 있다. Static Content MVC API Static Content 웹 브라우저가 /hello-static.html url을 요청하면 톰켓 내장서버는 스프링 컨테이너에 hello-static에 관련된 컨트롤러를 찾아달라...

[Spring] 프로젝트 환경설정

https://start.spring.io 에서 스프링 부트의 환경 설정이 가능하며, 버전선택, 패키지 이름, 라이브러리 추가 등 스프링 부트에 필요한 설정들을 추가할 수 있다. dependencies 추가 내용 : Spring Web, Thymeleaf(html을 만들어주는 template 엔진) 환경설정 build.gradle ...

[Design Pattern] 컴포지트 패턴

부분과 전체의 계층을 표현하기 위해 객체들을 모아 트리 구조로 구성한다. 사용자로 하여금 개별 객체와 복합 객체를 모두 동일하게 다룰 수 있도록 하는 패턴 택배 박스안에 있는 물품들의 비용을 계산하는 예로 보자. 박스안에는 양말과 바지가 있다고 했을 때 클래스 구조는 다음과 같다. Box public class Box { private...

[Design Pattern] 브릿지 패턴

구현부에서 추상층에서 분리하여 각자 독립적으로 변형할 수 있게 하는 패턴 TV로 채널과 소리를 제어할 수있는 리모컨의 사용에 대한 예로 브릿지 패턴의 사용을 알아보자 Tv public class Tv { private boolean on = false; private int volume = 30; private int cha...

[Design Pattern] 어댑터 패턴

클래스의 인터페이스를 사용자가 기대하는 인터페이스 형태로 변환시킨다. 서로 일치하지 않는 인터페이스를 갖는 클래스들을 함께 동작시킨다. Adder라는 인터페이스를 이용해 UserAdd가 덧셈을 구현하는 방식을 클래스 다이어그램으로 나타내면 다음과 같다. UserAdder는 Adder를 상속한 Adder객체와 더할 두 정수를 생성자의 매개변수로 ...

[Design Pattern] 팩토리 메서드 패턴

객체를 생성하기 위해 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 생성할지에 대한 결정은 서브클래스가 내리도록 하는 패턴 팩토리 메소드 패턴은 생성 패턴 중 하나로 이 패턴이 언제 적용 되는지 알기 위해 사과를 디저트로 제공하는 식당 클래스로 예를 들어보자 Apple public abstract class Apple { publi...