[백엔드] cs 지식2 - Spring 1편

2023. 12. 3. 14:43cs및 소프트스킬/백엔드

728x90
반응형
SMALL

1. Spring Framework?

 => Java 기반 오픈 소스 기반 Framework이며 경량 컨테이너를 이용하여 자바 객체를 담고 직접 관리를 하는 것  

 


2. Spring Framework 특징

 => 의존성 주입(DI), 경량 프레임워크, 제어의 역행(IoC), MVC 패턴, 관점지향 프로그래밍(AOP)로 구성 되어 있습니다.

 

 

3. 의존성 주입(DI; Dependency Injection) 

 => 각 계층 및 서비스들간 의존이 존재 할 경우 프레임워크와 서로 연결, 하나의 클래스에서 다른 클래스를 사용하기 위해 생성자를 사용하여 의존성을 주입 시킨다. (controller에서 service 사용, service에서 mapper 사용의 예시)

 

 

4. 경량 프레임워크

 => Java 객체를 직접 관리하며, 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링 프레임워크에서 필요한 객체를 얻을 수 있다.

 

 

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

 => My-Batis와 트랜잭션, 로깅 및 보안 등 공통적으로 사용하는 모듈을 담는 것을 말한다. 즉 비즈니스 로직을 해치지 않고 재사용 하기 편하게 만들어짐

 

 

6. Spring MVC

 => MVC 패턴을 적용하는 기법 중 하나로, Spring 에서 DispatcherServlet에서 controller를 이용하여 사용하며 적절한 서비스를 이용해 Model을 이용한 데이터와 View단을 처리하는 역할을 수행한다.

 

7. Spring과 Spring Boot의 차이점은 무엇인가요?

 => Spring Boot에서는 Spring 기능에서 Tomcat이 내장되어져 있다는 것이 큰 특징이며 spring과 다르게 환경 설정 xml을 일일히 설정하지 않아도 properties 파일에서 손쉽게 설정이 가능합니다.

 

 

8. Controller, Service, Repository의 역할과 차이점은 무엇인가요?

 => Controller는 입출력을 위한 것으로 사용되어지며, Service는 비즈니스 로직 처리와 데이터 가공 처리하는 역할을 수행하며 Repository는 DBMS를 직접 연동하여 사용 하는 것을 의미합니다.

 

 

9. JPA

 => Java의 ORM(Object Relational Mapping)으로 클래스와 Table과 연동 시켜주는 역할을 수행하며 추상화 인터페이스를 통해 SQL문 작업을 요청

 

10. Mybatis

 => SQL 실행 및 트랜잭션을 관리하는 기술 중 하나로 중복된 JDBC를 하나로 쓰이게 해주고, mapper.xml을 이용하여 sql문을 통해 데이터를 접근을 용의하게 해줍니다.

 

 

 

728x90
반응형
LIST