목록2021/06 (2)
윤개발
1. 스프링의 싱글톤 스프링은 기본적으로 Bean으로 등록된 객체를 싱글턴 방식을 사용하여 관리합니다. 예를 들어 @Bean, @Controller, @Component 등의 어노테이션이 붙은 Bean들은 스프링 컨테이너가 실행 시점에 등록된 Bean, 컴포넌트 스캔을 하여 딱 1번만 생성됩니다. 이후에는 요청이 들어와도 새로 객체를 생성하지 않고 공유해서 쓰게 됩니다. 왜 싱글톤일까요? 이는 객체를 매번 새로 생성하면 메모리 낭비가 심하고 요청이 완료되면 객체의 참조가 끊어지며 더 빈번하게 Gabage Collecting이 일어나기 때문입니다. 예를 들어 서버로 10000명의 사용자가 요청을 보낼 시 싱글톤이 아니라면 10000개의 객체를 생성해야 하니 낭비가 심하겠죠? 당연히 싱글톤을 이용하면서의 주..
해당 포스팅은 JUnit에서 자주 사용하는 가장 기본적인 어노테이션과 기본 테스트를 확인할 수 있습니다. JUnit 이란? 대부분의 언어는 단위 테스트를 지원하며 이를 xUnit이라고 합니다. 즉 JUnit은 java의 단위테스팅 프레임워크라고 생각하면 됩니다. JUnit은 테스트를 단순하게 System.out.print를 찍어서 확인하는 것이 아닌 메소드의 값과 결과가 동일한지, 해당 메소드가 기대한 동작을 하는지, 예외상황에서는 예외를 정확하게 반환하는지 등에 대한 테스트를 지원합니다. @(어노테이션)을 이용해서 손쉽게 만들 수 있고 AssertEquals등을 활용해 코드로써 테스트가 가능합니다. 지원되는 버전 어떤 프레임워크 또는 의존성을 사용하기 위해서는 항상 버전을 확인해야합니다. JUnit 5..