[Spring MVC] Bean Validation(검증)
·
Back-end/Spring
Bean Validation 사용 전Item (사용 전)@Datapublic class Item { private Long id; private String itemName; private Integer price; private Integer quantity; public Item() { } public Item(String itemName, Integer price, Integer quantity) { this.itemName = itemName; this.price = price; this.quantity = quantity; }} 만약 위와 같은 Item 객체가 있을 때 클라이언트에서 새로운 Item을 등록하면서가..
[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()..