프레임워크

    스프링부트 개발도구(spring-boot-devtools) 정리

    소개 스프링부트 개발을 더욱 쾌적하게 해주는 도구이다. 대표적인 기능으로는 다음과 같은 기능이 있다. 스프링 부트 Restart: 재시작 시간을 단축해준다. 자동 재시작: 클래스 패스에 있는 파일이 변경되었을 때, 자동으로 애플리케이션을 재시작한다. LiveReload: 리소스 변경사항을 브라우저에 즉각 반영해준다. 캐시 무효화: 디폴트 설정으로 동작하는 캐싱 기능들을 꺼준다. 공식 문서 Restart vs Reload 스프링부트는 재시작할 때 2개의 클래스 로더를 사용한다. base classloader 와 restart classloader 가 있다. 서드파티 라이브러리와 같은 변하지 않는 클래스는 base classloader 에 로드되고, 내가 현재 개발하는 클래스들은 restart classlo..

    토비의 스프링 2장 요약 정리 - 테스트

    이 포스팅은 2장을 요약 정리한 것이며, 상세한 정리는 이 링크에서 제공한다. 스프링과 테스트 스프링에서 제공하는 가장 중요한 가치 객체지향, 테스트 현대의 앱이 복잡해져가며, 테스트의 중요성은 더욱 높아지고 있다. 좋은 코드는 테스트하기 쉬운 코드라는 특징을 갖는 경우가 많다. 변화에 대응하는 전략 IoC 그리고 DI 스프링의 의존관계 주입형 코드는 로직 코드의 직접적인 수정이 아닌 외부에서 주입하는 객체의 설정정보를 바꾸는 것만으로 손쉬운 변화가 가능하다. 테스트 코드에 변화가 생겼을 때, 해당 코드가 특정 로직에서 정상적으로 작동하는지 알 수 있게 해준다. 테스트 전략 나쁜 테스트의 예 - 웹을 통한 테스트 테스트하고자 하는 코드 외에 부가적인 코드가 너무 많이 들어간다. 모든 레이어의 기능을 다 ..

    토비의 스프링 1장 요약 정리 - 오브젝트와 의존관계

    토비의 스프링 1장 요약 정리 - 오브젝트와 의존관계

    이 글은 요약 정리이며, 상세한 정리는 여기 에 있다. 1.1 초난감 DAO public class UserDao { public void add(User user) throws SQLException, ClassNotFoundException { Class.forName("org.postgresql.Driver"); String user = "postgres"; String password = "password"; Connection c = DriverManager.getConnection( "jdbc:postgresql://localhost/toby_spring" , user , password ); PreparedStatement ps = c.prepareStatement( "insert into ..

    토비의 스프링 0장 정리

    스프링이란 무엇인가? 자바 기반의 다양한 애플리케이션을 만드는 것을 도와준다. 웹 뿐만 아니라 배치 등 다양한 영역을 포괄한다. 애플리케이션 코드에 언제나 존재하는 공통 영역에 대한 작성을 쉽고 깔끔하게 만들어준다. 공통 프로그래밍 모델이라는 것을 지원한다. 트랜잭션 처리, 다국어 처리, AOP 처리 등 애플리케이션에는 언제나 공통 영역이 존재한다. 애플리케이션에 자주 사용되는 다양한 기술 API도 제공한다. CGLIB, Jackson(Object Mapper) 등 ... 스프링 컨테이너 스프링 설정 정보(@Configuration)로 생성된 객체들을 일반적으로 싱글톤으로 관리한다. 물론 빈 스코프 설정에 따라 항상 싱글톤은 아닐 수 있다. 객체지향 원칙을 지키기 어려운 싱글톤의 단점을 해소해준다. 공통..

반응형