Spring

[Spring] Spring 과 SpringBoot

고구마맨 2023. 2. 8. 10:08
반응형

 Spring

■ 스프링 프레임워크(Spring Framework)는 자바에서 가장 많이 사용되는 프레임워크이다.

 

 1) 중요 요소

  (1) 의존성 주입(DI, Dependency Injection)

   - Spring Framework 에 의존성을 주입하면서 객체 간 결합을 느슨하게 한다.

   - 코드의 재사용성이 증가하고 단위 테스트가 용이하다.

 

  (2) 제어역전(IOC, Inversion of Control)

     - Servlet이나 Bean 의 설정을 프레임워크가 대신 수행한다.

 

  (3) 관점 지향 프로그래밍(AOP)

 

 2) 대표적인 모듈

  - Spring JDBC

  - Spring MVC

  - Spring AOP

  - Spring ORM(Object-Relational Mapper)

  - Spring Test

  - Spring Expression Language(SpEL)

 


 SpringBoot

■ 스프링 프레임워크(Spring Framework)는 자바에서 가장 많이 사용되는 프레임워크이다.

 

 1) 제공 기능

  (1) 스프링 부트는 자동 설정을 이용한다.

   - 어플리케이션 개발에 필요한 모든 디펜던시(Dependency)를 프레임워크에서 관리

 

○ SpringBoot Project Starter Dependency

   - Spring Boot Starter Web Service : SOAP 웹 서비스

   - Spring Boot Starter Web : RESTful 응용 프로그램

   - Spring Boot Starter Test : 단위 테스트, 통합테스트

   - Spring Boot Starter JDBC : 기본적인 JDBC

   - Spring Boot Starter Security : 스프링 시큐리티 (인증,권한)

   - Spring Boot Starter Data Jpa : Spring Data JAP(Hibernate) 

   - Spring Boot Starter Cache : 캐시  

  

 

   - jar 파일이 클래스 패스에 있는 경우 스프링 부트는 Dispatcher Servlet으로 자동 구성

   - 스프링 부트는 미리 설정되어 있는 Starter 프로젝트를 제공

    → 디펜던시를 호환되는 버전으로 관리하는 복잡함을 줄이기 위해 Springboot-Starter를 제공하여 자동으로 버전 관리

   - xml 설정 없이 자바 코드를 통해 설정 가능

 

 2) 편리한 배포

  Spring Boot는 Tomcat이나 Jetty 같은 내장 WAS를 가지고 있기 때문에 jar 파일로 간편하게 배포할 수 있다.

 

 3) AutoConfiguration

  (1) @SpringBootApplication

   - 가장 기본적인 설정을 선언해준다. ( @ComponentScan @EnableAutoConfiguration )

  (2) @ComponentScan

   - @Component, @Controller, @Repository, @Service라는 어노테이션이 붙어있는 객체들을 스캔해 자동으로 Bean에 등록해준다.

  (3) @EnableAutoConfiguration

   - @ComponentScan 이후 사전에 정의한 라이브러리들을 Bean에 등록해줍니다.

   - 사전에 정의한 라이브러리들 모두가 등록되는 것은 아니고 특정 Condition(조건)이 만족될 경우에 Bean으로 등록합니다.

 

   

 

반응형