본문 바로가기

IT/Spring83

토비 스프링 - AOP 단위 테스트 : 테스트 대상 클래스를 목 오브젝트 등의 테스트 대역을 이용해 의존 오브젝트나 외부의 리소스를 사용하지 않도록 고립시켜서 테스트하는 것 통합테스트 : 두개 이상의 성격이나 계층이 다른 오브젝트가 연동하도록 만들어 테스트하거나, 또는 외부의 DB나 파일 서비스등의 리소스가 참여하는 테스트 프록시 : 클라이언트가 사용하려고하는 실제 대상인 것처럼 위장해서 클라이언트의 요청을 받아주는 것 타깃 or 실체 : 프록시를 통해 최종적으로 요청을 위임받아 처리하는 실제 오브젝트 프록시 사용 목적 클라이언트가 타깃에 접근하는 방법을 제어하기 위해 타깃에 부가적인 기능을 부여해주기 위해 데코레이터 패턴 : 타깃에 부가적인 기능을 런타임 시 다이나믹하게 부여해주기 위해 프록시를 사용하는 패턴. 다임나믹하게 .. 2019. 11. 4.
토비 스트링 - 트랜잭션 트랜잭션의 경계 설정 : setAtuoCommit(false)로 트랜잭션의 시작을 선언하고 commit() 또는 rollback()으로 트랜잭션을 종료하는 작업 트랜잭션 동기화 : 트랜잭션을 시작하기 위해 만든 Connection 오브젝트를 특별한 저장소에 보관해두고, 이후에 호출화는 DAO의 메소드에 저장된 Connection을 가져다가 사용하게 하는 것이다. 글로벌 트랜잭션 : DB와 독립적으로 만들어 지는 Connection이 아닌 별도의 트랜잭션 관리자를 통해 트랜잭션을 관리하는 방식 PlatformTransactionManager : 스프링이 제공하는 트랜잭션 경계설정을 위한 추상화 인터페이스 단일 책임 원칙 : 객체 지향의 설계 원칙중 하나, 하나의 모듈은 한가지 책임을 가져야 한다. test.. 2019. 11. 1.
토비 스프링 - 예외 예외 발생 이후 try/catch를 통해 잡아낸 후 아무것도 하지 않는 다면 메모리나 리소스가 소진되거나 다른 오작동을 일으키게 될것이다. 모든 예외는 적절하게 복구 되던가 작업을 중단 시키며 운영자 또는 개발자에게 분명하게 통보되어야 한다. 체크 예외 : 명시적인 처리가 필요한 예외 throw를 통해 발생시킬 수 있는 예외 Error : java.lang.Error의 서브 클래스들이다. 에러는 시스템에 비정상적인 상황이 발생했을 경우 사용된다. 그렇기에 주로 자바 VM이 발생시키며 어플리케이션 코드에서 잡으려 하면 안된다. OutOfMemoeryError나 ThreadDeath같은 에러는 Catch블럭으로 잡아봐야 대응방법이없다. 즉, 시스템 레벨에서 특별한 작업을 하는게 아니라면 어플리케이션에서는 이.. 2019. 10. 28.
토비 스프링 - 템플릿 / 콜백 템플릿 : 프로그래밍에서는 고정된 틀안에 바꿀 수 있는 부분을 넣어 사용하는 경우를 말한다. JSP는 HTML이라는 고정된 부분에 EL과 스크립릿이라는 변하는 부분을 넣은 일종의 템플릿 파일이다. 템플릿 메소드 패턴 : 고정된 틀의 로직을 가진 테플릿 메소드를 슈퍼클래스에 두고, 바뀌는 부분을 서브클래스의 메소드에 두는 구조로 이루어진다. 콜백 : 실행되는 것을 목적으로 다른 오브젝트의 메소드에 전달되는 오브젝트. 파라미터로 전달되지만 갑을 참조하기 위한 것이 아니라 특정로직을 담은 메소드를 실행시키기 위해 사용된다. 자바에서는 메소드 자체를 파라미터로 전달할 방법은 없어 메소드가 담긴 오브젝트를 전달해야 한다. 다른 말로 펑셔널 오브젝트라고도 한다. 2019. 10. 23.