티스토리 뷰
Spring은 엔터프라이즈 애플리케이션 구축에 가장 널리 사용되는 Java 프레임워크 중 하나로, REST API부터 전체 규모의 마이크로서비스까지 모든 것을 개발할 수 있는 모듈식 포괄적인 에코시스템을 제공한다.
Spring의 핵심 개념
- Inversion of Control (IoC) and Dependency Injection (DI)
- 목적
: 종속성의 생성 및 주입을 관리해 긴밀하게 결합된 코드의 필요성을 줄인다. - 예시
: UserRepository에 의존하는 UserService, 여기서 Spring은 UserRepository를 UserService에 주입한다. - 준비
: DI의 개념, 필드 주입을 위해 @Autowired를 사용하는 방법, @Component, @Service 및 @Repository 어노테이션으로 bean을 구성하는 방법을 이해해야 한다.
- 목적
- Spring MVC
- 목적
: 컨트롤러를 사용하여 요청을 처리하고 뷰를 반환하는 Spring에서 웹 애플리케이션을 만들기 위한 Model-View-Component 모듈이다. - 예시
: 제품 관련 요청을 처리하고 JSON 형식의 제품 목록을 반환하는 ProductController - 준비
: @Contoroller와 @RequestMapping의 기본 사항, GET 및 POST 요청을 처리하고 @ResponseBody를 사용해 JSON 응답을 반환하는 방법을 알고 있어야 한다.
- 목적
- Spring Boot
- 목적
: 임베디드 서버 및 자동 구성을 통해 의견에 따라 접근 방식을 제공해 Spring 애플리케이션 개발을 간소화한다. - 예시
: Spring Boot로 메인 클래스에 @SpringBootAppliction 주석을 달아 설정한 RESTful 웹 서비스 - 준비
: Spring Boot의 목적, Spring Initializr로 기본 프로젝트를 설정하는 방법, 명시적인 XML 구성 없이 애플리케이션을 구성하고 실행하는 방법을 이해해야 한다.
- 목적
- Spring Data
- 목적
: JPA 및 NoSQL을 위한 사용하기 쉬운 저장소 주상화를 제공해 데이터베이스 액세스를 간소화한다. - 예시
: Customer 엔터티에 대한 CRUD 작업을 처리하기 위해 JpaRepository를 확장하는 CustomerRepository 인터페이스. - 준비
: JpaRepository 및 일반적인 쿼리 어노테이션(@Query)에 익숙해지고 상용구 코드를 줄이기 위한 Spring Data의 이점에 대한 이해가 필요하다.
- 목적
- Spring Security
- 목적
: 애플리케이션 보안을 위한 인증 및 권한 부여 기능을 제공한다. - 예시
: EnableWebSecurity를 사용해 웹 애플리케이션을 보호하고 역할 및 권한을 정의한다. - 준비
: Spring Security의 기본 사항과 인증을 구성하는 방법을 알고 메서드 수준 보안을 위해 @PreAuthorize를 사용해야 한다.
- 목적
- Spring AOP (Aspect-Oriented Programming)
- 목적
: 메서드에 advice를 적용해 교차되는 문제(예: 로깅, 트랜잭션)을 분리할 수 있다. - 예시
: @Berfore 및 @After advice를 사용해 메서드 실행 시간 기록. - 준비
: AOP 용어 (aspect, advice, pointcut)와 로깅 또는 보안과 같은 기본 사용 사례를 이해해야 한다.
- 목적
- Spring Cloud (마이크로서비스 용)
- 목적
: 서비스 검색, 로드 밸런싱 및 분산 구성과 같은 기능을 통해 분산 시스템 및 마이크로서비스를 구축할 수 있는 도구를 제공한다. - 예시
: 서비스 검색을 위해 Netflix Eureka를 사용하고 클라이언트 측 로드 밸런승을 위해 Ribbon을 사용하도록 마이크로서비스 구성. - 준비
: 해당 직책과 관련된 경우 Spring Cloud의 기본 사항, Eureka를 사용한 서비스 검색, 로드 밸런싱 및 마이크로서비스의 통신 방법을 이해해야 한다.
- 목적
반응형
'기술(Tech, IT) > 자바(Java)' 카테고리의 다른 글
[Java] J2EE (Jakarta EE) (0) | 2024.11.03 |
---|---|
[Java] Abstraction (추상화) (0) | 2024.11.02 |
[Java] OOP concept (Object-oriented programming, 객체 지향 프로그래밍 개념) (1) | 2024.11.01 |
[Java] Polymorphism (다형성) (0) | 2024.10.31 |
[Java] Encapsulation (캡슐화) (0) | 2024.10.31 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 머신 러닝
- DICTIONARY
- 투 포인터
- I2C
- defaultdict
- 이코노미스트
- vertex shader
- The Economist Espresso
- Python
- socket programming
- 소켓 프로그래밍
- leetcode
- The Economist
- Android
- ml
- Computer Graphics
- 이코노미스트 에스프레소
- join
- machine learning
- 파이썬
- min heap
- 리트코드
- 티스토리챌린지
- 오블완
- 안드로이드
- C++
- java
- Hash Map
- 딕셔너리
- tf-idf
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
반응형