Spring
- 어플리케이션을 구축할 수 있는 가벼운 솔루션이자, One Stop Shop 이다
- IoC 컨테이너
- 원하는 부분만 가져다 사용할 수 있도록 모듈화
- MVC Framework 제공
- AOP 지원
Container
- Instance의 생명주기를 관리하며, 생성된 인스턴스들에게 추가적인 기능을 제공
ex) 개발자가 서블릿 클래스를 작성했지만, 실제로 메모리에 올리고 실행하는 것은 WAS가 가지고 있는 Servlet Container이다.
IoC (Inversion of Control)
- 프로그램의 제어 흐름 구조가 바뀌는 것
- 일반적으로 모든 종류의 작업은 사용하는 사람이 제어를 한다
- 반면, IoC는 모든 제어 권한을 자신이 아닌 다른 대상에게 위임한다
DI (Dependency Injection)
- 의존성 주입
- 클래스 사이의 의존관계를 빈(Bean) 설정 정보를 바탕으로 컨테이너가 자동으로 연결
IoC 용어
BeanFactory
- 스프링의 IoC를 담당하는 핵심 컨테이너
- IoC/DI 에 대한 기본 기능
ApplicationContext
- BeanFactory의 확장
- 트랜잭션처리, AOP에 대한처리
Annotation
@Configuration
- Spring의 환경설정과 관련된 클래스임을 선언
- Configuration을 클래스에 적용하고, @Bean을 해당 클래스의 메소드에 적용하면 @Autowired로 Bean을 부를 수 있음
@Bean
- Spring에서 사용하는 Bean을 리턴해주는 메소드임을 선언
- Bean을 사용한 메소드가 리턴하는 객체는 자체적으로 Singleton으로 관리해줌
@componentScan
- @Controller, @Service, @Repository, @Component이 붙은 클래스 Bean들을 Context에 Bean을 등록해줌
@Controller
- 클래스가 Controller 임을 선언
@Service
- 클래스가 Service 임을 선언
@Component
-
@Repository
- 일반적으로 DAO에 사용되며 클래스가 Repository 임을 선언
@Autowired
- 의존관계를 자동설정할 때 사용하며 빈 객체를 삽입해줌
@Import
-
@Transactional
- 데이터베이스 트랜잭션을 설정하고 싶을 때 사용
- ex) Transactional(readOnly=false)
@EnableTransactionManagement
- Spring Java Config 파일에서 트랜잭션을 활성화 할 때 사용
@EnableWebMvc
- Web에 필요한 Bean들을 대부분 자동으로 설정해준다
@GetMapping(path=" ")
- Controller에서 Get으로 Mapping을 수행해줌
@PostMapping(path=" ")
- Controller에서 Post로 Mapping을 수행해줌
@RequestMapping(path=" ")
-
@RestController
- Spring4 에서 Rest API 또는 Web API를 개발하기 위해 등장
@RequestParam
-
@RequestBody
-
@PathVariable
-
@
'Dev > JSP' 카테고리의 다른 글
[JSP] Spring MVC (0) | 2018.07.20 |
---|---|
[JSP] Spring JDBC (0) | 2018.07.20 |
[JSP] JDBC 사용하기!! (0) | 2018.05.29 |
[JSP] Maven 이란?? (0) | 2018.05.29 |
[JSP] EL & JSTL (0) | 2018.05.26 |