본문 바로가기
반응형

Spring54

GOF패턴- Adapter Pattern (구조) Adapter 란 부가기구 이다 . 어댑터 패턴(Adapter pattern)은 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해준다. package Adapter; public interface Adapter { public Float twiceOf(Float f); public Float halfOf(Float f); } package Adapter; public class Math { // 요구사항이 float 이라 안됨 public static double twotime(double num) { return num*2; } public static double half(double num.. 2023. 2. 21.
GOF패턴 - Strategy Pattern(행동) 1. 스트래티지 패턴 : 여러가지 알고리즘의 추상적인 접근점을(interface) 만들어 그 접근점을 서로 교환할 수 있도록 하는 패턴 즉 구현체 여러개면 아무거나 하나 골라서 실행한다는것 예를 들면 캐릭터가 (칼,맨손,주먹) 을 든다 에서 칼,맨손,주먹중 하나를 고를 수 있다는것 인터페이스 : 기능에 대한 선언과 구현 분리 , 기능을 사용 통로 델리게이트 : 위임한다. 다른 객체의 기능을 빌려 사용하는것, 이 전략을 사용하는 이유는 변경에는 닫혀있고 확장에는 열려있기 때문 디자인 문제를 해결하는 방법, 즉 객체는 구현, 변경, 테스트, 재사용이 쉬워야 한다. context 에서 사용할 알고리즘을 클라이언트가 선택한다 예시 게임 캐릭터가 weapon 이라는 전력을 가지고있는다. weapon 을 통해서 .. 2023. 2. 21.
JPA Auditing entitiy 에는 해당 데이터의 생성시간과 수정시간을 포함한다. 차후 유지보수에 있어 중요한 정보이기 때문이다. 매번 DB에 삽입, 생성 전 날짜 데이터를 등록. 수정하는 코드가 여기 저기 들어간다. public class BlogTest { public void Auditing_test() { Auditing_test(new LocalDate()) postsRepositor.save(posts); } } 이런 단순 반복 코드가 모든 테이블과 서비스 메소드에 포함 되어야 한다. 해결방안 : JPA Auditing 사용 @Getter @MappedSuperclass // BaseTimeEntity 을 상속할 경우 필드들을 칼럼으로 인식함 @EntityListeners(AuditingEntityListen.. 2022. 7. 27.
(Spring) 스코프 스프링 빈이 기본적으로 싱글톤 스코프로 생서된다. 빈 스코프란 빈이 존재 할 수 있는 범위를 뜻한다 다양한 스코프를 지원한다. 싱글톤, 프로토타입, 웹 관련스코프 싱글톤: 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 프로토타입 : 빈의 생성과 의존관계 까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프이다. 스프링 빈의 이벤트 라이프사이클 1.스프링컨테이너생성 > 2.스프링빈생성 > 3.의존관계주입 > 4.초기화콜백 사용 > 5.소멸전콜백 > 6.스프링 종료 postConstruct: (스프링 컨테이너 생성 시점에 초기화 메서드가 실행된다 (Spring Scope)) - 객체가 생성된 후 별도의 초기화 작업을 위해 실행하는 메소드를 선언한다. - WAS 가 .. 2022. 7. 12.
(Spring) 콜백 콜백: 스프링 빈이 생성되거나 죽기전에 스프링이 빈 안에있는 메서드를 호출해 줄 수 있는 기능 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행 하려면 객체의 초기화와 종료 작업이 필요하다. 스프링 빈은 객체 생성 > 의존관계 주입 초기화 작업은 의존관계 주입이 모두 완료되고 난 다음에 호출해야 함. 스프링은 의존관계 주입이 완료되면 초기화 시점을 알려주는 다양한 기능을 제공한다. 스프링 컨테이너가 종료되기 직전에 소멸 콜백을 준다. 싱클톤에서의 라이프 사이클 스프링 컨테이너 생성 > 빈 생성 > 의존관계 주입 > 초기화 콜백 > 사용 > 소멸전 콜백 > 스프링 종료 초기화 콜백 : 빈 생성되고, 의존관계 주입 후 호출 소멸전 콜백 : 빈이 소멸되기 직전에 호출 객체의 생성과 초기화는 분리하는게.. 2022. 7. 11.
(Spring) 의존관계 자동주입 다양한 의존관계 주입 방법 1. 생성자 주입 2. 수정자 주입 3. 필드 주입 4. 일반 메서드주입 https://windy7271.tistory.com/149 (Spring) IoC / DI IoC 기존 프로그램은 구현 객체가 스스로 필요한 구현 객체를 생성, 연결, 실행 하였다. 즉 구현 객체가 프로그램의 제어 흐름을 스스로 조종했다. 객체 생성을 컨테이너에게 위임해서 처리하는 windy7271.tistory.com 옵션 처리 주입 할 스프링 빈이 없어도 동작해야할 때가 있다. @Autowired 만 사용하면 required 값이 true 라 자동 주입 대상이 없으면 오류 발생 static class TestBean { @Autowired(required = false) // 의존관계가 없을때 fal.. 2022. 7. 10.
반응형