목차
인사말
안녕하세요. 오늘은 새로운 기획 주제와 함께 돌아왔습니다. 지난 6개월 동안 '블로그 운영기'라는 주제로 6개의 기획 기사를 작성했었는데요. 제가 쓰고 싶었던 주제라 즐겁게 글을 썼었던 것 같습니다. 이전 기획 기사가 궁금하시다면 아래 링크를 참고해 주세요.
개발 블로그 시작하기 #1. 개발자는 왜 블로그를 운영할까? | Engineering Blog
인사말 안녕하세요! 기획 기사로 돌아온 8기 SSAFYcial 서지윤입니다. 오늘은 올해 하반기 동안 이어지는 제 기획 기사에 대해 설명하고, 첫 번째 이야기를 풀어나가려고 합니다. 제 기획 주제는 '
p-lay-ground.tistory.com
이번달부터는 새로운 주제로 기획 기사를 진행해 보려고 하는데요. 오늘은 기획 주제 소개와 함께 첫 기획 기사를 풀어나가려고 합니다. 이번 주제 역시 제 관심사를 반영해 선정했는데요. 앞으로 진행될 기획 기사도 즐겁게 써나갈 수 있었으면 좋겠습니다.
기획 소개
이번 기획 기사는 Spring Framework에 대해 다룰 예정입니다. 저는 1학기 비전공 Java반에서 Spring을 처음으로 접했었습니다. 이후 1학기 관통, 2학기 공통 프로젝트에서 Spring Boot로 Backend 개발을 진행했었습니다.
저를 포함한 많은 SSAFY 교육생이 Spring에 대해 배웠고, Spring Boot로 프로젝트 개발을 진행하는 것으로 알고 있습니다. 이에 기획에서 Spring에 대해 다루면 저에게도, 다른 교육생에게도 도움이 될 것 같다는 생각에 기획 주제를 선정하게 됐습니다.
기사 내용으로는 사용 이유, JPA, MyBatis, 학습 자료 등 다양한 콘텐츠를 담아보려고 합니다. 기사에서 Spring에 대한 모든 내용을 담을 수는 없겠지만, Spring 학습에 도움이 되는 내용을 많이 다뤄보려고 합니다.
개념
우선, Spring에 대해 알아본 뒤에 Spring을 사용하는 이유를 설명해 드리려 합니다. Spring은 무엇인지, 그리고 같이 언급되는 Spring Boot는 무엇인지 알아보려고 합니다.
1. Spring Framework Java 기반의 Web Application을 만들 수 있는 Framework
2. Spring Boot Spring을 더 쉽게 사용하기 위한 도구
Spring Boot는 Spring을 사용하기 위해 필요한 많은 환경 설정을 자동화해, 편리하게 Spring을 사용할 수 있게 합니다. 내부 Tomcat이 있어 별도의 Tomcat 설치가 필요 없습니다. 이해에 도움이 되실까 해 설명에 쓰인 'Framework'의 의미도 함께 작성해 봅니다.
💡Framework란? (참고 자료)
복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조
( * 참고자료 스프링(Spring), 스프링 부트(Spring Boot)란? 개념 정리 )
특징
그렇다면 Spring의 특징은 무엇인지 알아봤는데요. Spring은 많은 특징을 가지고 있지만, 그중에서도 저는 POJO, DI, AOP, IoC 이렇게 4가지에 대해 설명해 보고자 합니다. 사실 이 4가지 개념 모두 이해하기 쉽지 않은데요. 그래서 참고자료와 함께 보며 이해하시는 것을 추천해 드립니다.
(1) POJO
- Plain Old Java Object 방식
- 일반적인 Java 코드를 이용해 객체를 구성하는 방식 사용
- 구현을 위해 특정 인터페이스 구현 및 상속이 불필요
(2) DI
- Dependency Injection, 의존성 주입
- 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결
- 참고 자료 Dependency Injection(의존성 주입)
(3) AOP
- Aspect-Oriented Programming, 관점 지향 프로그래밍
- 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리 가능
- 참고 자료 [Spring] AOP(관점 지향 프로그래밍)
(4) IoC
- Inversion of Control, 제어 역전
- 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출
- 참고 자료 [Spring] IoC(Inversion of Control) : 제어의 역전
( * 참고자료 스프링 프레임워크 )
사용 이유
그렇다면 본격적으로 Spring을 학습하기 전, 왜 Spring을 사용하는지 알아볼까요? 저는 Spring을 사용하는 여러 이유 중에서도 Spring 공식 홈페이지의 Why Spring?에서 다루고 있는 Spring을 쓰는 이유를 해석해 작성해 보았습니다.
(1) Everywhere
Spring의 라이브러리는 전 세계 개발자들의 신뢰를 받고 있습니다. Spring은 수많은 유저에게 즐거운 경험을 제공하고 있습니다.
(2) Flexible
유연하고 포괄적인 라이브러리 확장을 통해, 개발자는 거의 모든 애플리케이션을 구축할 수 있습니다. Spring Framework의 IoC와 DI는 광범위한 특징과 기능을 위한 기반을 제공합니다.
(3) Productive
Spring Boot는 Java programming tasks에 접근하는 방식을 변화시켜, 작업을 간소화합니다. 더불어 Application context, Web Server와 결합해 간단하게 개발할 수 있습니다. 더 빠른 개발을 위해서, Spring Cloud의 풍부한 Library, Server 등을 Spring Boot와 결합할 수도 있습니다.
(4) Fast
개발자들은 성능에 관심이 많습니다. Spring을 사용하면 기본적으로 빠른 시작 및 종료, 최적화된 실행을 확인할 수 있습니다. 또한, Spring projects는 효율성 증진을 위해 Reactive Programming을 지원합니다. Spring Boot는 개발자들이 Application을 쉽게 구축할 수 있도록 도와줍니다.
(5) Secure
Spring은 보안 이슈를 빠르고 책임감 있게 해결하는 것에 대한 입증된 실적을 가지고 있습니다. 데이터와 애플리케이션의 안전한 유지를 돕기 위해 정기적으로 업데이트합니다. 또한, 업계 표준 보안 체계와 쉽게 통합할 수 있으며, 기본적으로 안전하고 신뢰할 수 있는 솔루션을 제공합니다.
(6) Supportive
Spring Community는 거대하고, 세계적이고, 다양하고, 초급자부터 전문가까지 모든 연령과 능력의 사람을 포괄합니다. Spring을 학습하기 위한 빠른 시작 가이드, 강의 등의 참고 자료를 찾아볼 수 있습니다.
( * 참고자료 Why Spring? )
마무리
오늘 기사는 여기까지입니다. Spring을 기초 수업이 떠오르는 기사였던 것 같습니다. 잊고 있었던 내용인데 다시 복습해 볼 수 있어 좋았습니다. 다음에는 JPA와 MyBatis에 대해 다룰 예정입니다.
지금까지 읽어주셔서 감사드립니다.

'SSAFYcial > 기획 기사' 카테고리의 다른 글
Spring에 대해 알아보자 #3. Interceptor 및 Filter (1) | 2023.05.02 |
---|---|
Spring에 대해 알아보자 #2. JDBC, MyBatis, JPA (0) | 2023.04.03 |
개발 블로그 시작하기 #6. 개발 블로그 시작 일지 (0) | 2023.01.26 |
개발 블로그 시작하기 #5. 개인 개발 블로그 살펴보기 (0) | 2022.12.30 |
개발 블로그 시작하기 #4. IT기업의 개발 블로그 살펴보기 (0) | 2022.11.30 |