[Spring] 빈 생명주기 콜백
·
Back-end/Spring
만약 데이터베이스나, 네트워크 소켓처럼 애플리케이션 시작 시점에 연결을 해두고,애플레케이션 종료 시점에 연결을 모두 종료해야 하는 작업을 해야한다면객체의 초기화와 종료 작업이 필요합니다.  스프링 빈은 간단하게 보면 "객체 생성 → 의존성 주입" 과 같은 라이프사이클을 가집니다. 이때 스프링 빈은 객체 생성, 의존관계 주입이 다 끝난 후에야 필요한 데이터를 사용할 수 있게됩니다.따라서 초기화 작업은 의존관계 주입이 끝난 다음에 호출해야 합니다.개발자 입장에서 의존관계 주입이 끝난 시점을 어떻게 알 수 있을까요? 스프링에는 의존관계 주입이 완료되면 스프링 빈에게 콜백 메소드를 통해서 초기화 시점을 알려줍니다. 또한 스프링 컨테이너가 종료되기 직전에 소멸 콜백을 줍니다. 이러한 콜백들을 통해 안전하게 종료 ..
[BOJ][Python] 5430번 AC
·
PS
문제링크https://www.acmicpc.net/problem/5430 문제 설명선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다.함수 R은 배열에 있는 수의 순서를 뒤집는 함수이고, D는 첫 번째 수를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다.함수는 조합해서 한 번에 사용할 수 있다. 예를 들어, "AB"는 A를 수행한 다음에 바로 이어서 B를 수행하는 함수이다. 예를 들어, "RDD"는 배열을 뒤집은 다음 처음 두 수를 버리는 함수이다.배열의 초기값과 수행할 함수가 주어졌을 때, 최종 결과를 구하는 프로그램을 작성하시오. 코드import sy..
[Spring] 싱글톤 컨테이너&싱글톤 패턴
·
Back-end/Spring
싱글톤 패턴싱글톤 컨테이너를 살펴보기 전에 싱글톤 패턴에 대해 알아보도록 하겠습니다.싱글톤 패턴이란 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴 입니다. singletonService (싱글톤 패턴을 사용한 클래스)package hello.core.singleton;public class SingletonService { //1. static 영역에 객체 하나 생성. private static final SingletonService instance = new SingletonService(); //2. 접근제한자를 public으로 하여 객체 인스턴스가 필요하면 조회가능하도록 한다. public static SingletonService getInstance()..
[Java] 객체지향 - 다형성(역할과 구현)
·
Back-end/Java
다형성 개념다형성의 특징유연하고 변경에 용이하다.역할과 구현으로 세상을 구분한다.자동차 예시 위의 그림은 다형성을 설명할때 가장 흔하게 등장하는 예시중 하나인 자동차 예시입니다. 자동차역할을 인터페이스라고 한다면 k3, 아반테, 테슬라 모델3는 각각 인터페이스(자동차 역할)의 구현체(자동차)라고 할 수 있습니다.운전자는 차마다 별도의 운전법을 배울 필요 없이 여러종류의 차를 운전할 수 있다. 운전자는 각각의 차량이 아닌 자동차의 역할(운전)에 의존한다.이것이 다형성의 핵심입니다.운전자를 클라이언트라고 하고, 자동차를 서버라고 한다면새로운 자동차(다른 서버)가 나왔다고 해서운전자(클라이언트)가 면허를 다시 따야할 필요(클라이언트 수정)는 없습니다.   공연 예시또 다른 예시인 공연 예시를 살펴보도록 하겠습..