스프링 컨테이너는 다들 알다싶이, 싱글톤 패턴을 적용시켜 빈 객체를 하나로 관리하여 메모리를 효율적으로 관리한다. 싱글톤 패턴은 메모리를 최적으로 유지할 수 있다는 장점이 있지만, 싱글톤 패턴을 적용하기 위해서 많은 코드들을 작성해야한다. (이를테면, private으로
의존관계를 주입하는 방법에는 총 4가지가 있다. 생성자 주입수정자(setter) 주입필드 주입일반 메서드 주입최근에는 의존관계를 주입할 때, 생성자 주입을 많이 사용하고, 수정자 주입, 필드 주입, 일반 메서드 주입은 많이 사용하지 않는다. 또한 스프링을 포함한 DI
데이터베이스 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화와 종료 작업이 필요하다.데이터베이스 커넥션 풀(DBPC : Database Connect
빈 등록을 할 때, 별다른 설정이 없었다면 스프링 빈이 스프링 컨테이너의 시작과 함께 생성되어서 스프링 컨테이너가 종료될 때까지 유지된다. 그것들은 스프링 빈이 기본적으로 싱글톤 스코프로 생성되기 때문이다. 스코프는 번역 그대로 빈이 존재할 수 있는 범위를 뜻한다.스프
동시성 문제는 멀티 스레드 환경에서 여러 스레드가 하나의 자원에 접근했을 때 발생할 수 있는 문제이다. 물론 여러 스레드가 자원에 접근해서 읽기 작업만을 수행한다면 문제가 없지만, 쓰기 & 수정 작업이 이뤄진다면 문제가 있다. 동시성 문제가 발생하는 상황은 다음과 같다
스프링 프로젝트를 하다보면 만나는 Filter와 Interceptor의 차이에 대해 알아보자
Servlet과 Servlet Container 에 대해 알아보자
뭐? Validation 하려면 DTO에 Getter/Setter를 달아야 된다고? is 를 메서드 앞에 붙여야한다고?