spring
1. 스프링?
- 자바엔터프라이즈 개발을 편리하게 해주는 오픈소스 경량급 어플리케이션 프레임워크
* framework
- 눈에 실질적으로 보이는것은 프레임워크 라이브러리
- 전체적인 부분을 만들어놓고 필요한 부분만 개발자들이 만들어서 사용하는 방식으로 사용
- 사용분야에 따라서 프레임워크의 종류가 달라짐(web, db, application tool)
2. 스프링 컨테이너
- EJB의 비즈니스 서비스 컨테이너의 기능은 유지하되 복잡성을 제거한 컨테이너의 필요성
- 객체들의 라이프사이클을 관리해주는 컨테이너의 기본적인 기능
- 컨테이너에서 제공하는 API를 상속받거나 구현하여 코드를 작성하는 부분들을 제거
- 컨테이너를 이루는 파일자체가 몇 메가 밖에 안 되는 작은 사이즈이며 구동에 필요한 시간이 짧고 자체 부하는 무시할 수준이고 컨테이너 내에 객체를 배치하는 복잡한 과정이 짧다.
3. spring module
4. spring 전략
- POJO를 이용한 가볍고 비침투적 개발(외부적으로 다른 코드들의 침투가 되는것들을 못들어오게 막는것)
- DI(Dependency Injection)와 인터페이스 지향을 통한 느슨한 결합도
- Aspect와 template를 통한 반복적이고 상투적인 코드중복 제거
5. AOP(Aspect Oriented Programming): 관점지향 프로그래밍
- OOP를 더욱 OOP답게 해주는 기술(더욱 완벽하게 해줌)
- 필요한 시점에 횡단 관심 모듈을 삽입하여 동작하게 하는 기술
Spring 실습
# spring-practices
l------ hellospring03
l------ emaillist03
l------ guestbook03
l------ aoptest
l------ fileupload
l------ container
l------ loginexample
l------ hellospring04(java config)
l------ hellospring05(java config02)
l------ hellospring05(spring boot)
# mysite
l------ mysite02
l------ mysite03 (xml config)
1. Library 추가
- spring core
- spring web MVC
*xml 일부설정 (spring) -> 패키지 경로 설정을 잘못한다면 사용이 불가하기에 주의해서 작성해야함
<context:annotation-config />
<context:component-scan base-package="com.example.springex.controller" />
* application이 실행안 될 경우 checkpoint
1. @Controller <- 점검 //