hm (2)
Java
스트림
데이터를 운반하는데 사용되는 연결통로
Eclipse 단축키를 익숙하게 쓰자.
Ctrl+Shift+T : 클래스 찾기
끄적끄적 서치/복습하면서
모듈은 여러개의 기능적 요소들을 조합한것.
모듈을 왜 사용할까?
-
효율성 다른 파일에서 해당 클래스나 함수가 필요할때 가져옴.
-
재활용 타인이 만들어 놓은 코드를 자신의 코드에 활용이 가능하다.
모듈의 가장 중요한 것은 지역화이다. 외부가 바뀌어도 모듈은 바뀌면 안됨! 그렇기 때문에 철저하게 폐쇠적으로.
DB가 공유되는 경우가 있다면?
API 형태로 바꾸자.
개발은 OO같다.
개발은 방정리 같다. 우리가 드레스룸, 안방, 화장실 등등.. 구분을 하고 방별로 분리하는 것처럼 개발도 기준을 잡고 방별로 깔끔하게 정리!
자바플젝 패키지
서비스는 폴더 단위로 만들어버리면 서비스마다 동일한 서비스가 있을 수 있다. 그렇게 되면 코드를 중복으로 만들게 되서 오히려 다오를 쓰는 것 보다 못한 유지보수 성능을 보이게 된다.
서비스->서비스호출?
또한 서비스에서 서비스를 호출하게 되면 재귀문제가 발생하기 때문에 서비스에서는 다오를 호출한다.
xml, @+JavaConfig
효율보다는 용도에 따라 구분한다.
- xml
- 프로젝트 전체의 컴포넌트와 의존 관계를 한눈에 볼 수 있다.
- @+JavaConfig
- 간편한 설정이 가능하다. 동적으로 컨테이너 설정을 변경해야 할 때 유용하게 사용이 가능하다. 직관적이다.
의존성 주입 (DI)
: 사용자가 직접 new키워드를 사용하여 객체를 생성하지 않고, 외부 컨테이너에 생성된 객체를 주입받는 방식 (@Autowited)
오브젝트 레퍼런스를 외부로 부터 주입받고, 이를 통해 다른 오브젝트와 동적으로 의존관계가 맺어짐. 즉, 오브젝트 외부에서 의존하는 오브젝트를 주입시키는 것이 DI
의존성 주입을 통해 객체간의 의존성 문제를 해결하며, 객체의 생성과 소멸을 개발자가 관리하지 않고 스프링에서 관리하는데 이러한 현상을 IOC (기술 비침투가 핵심)
DI컨테이너
: 오브젝트 사이의 의존 관계를 설정해주는 제3의 존재