[SpringBoot] Spring 기본 개념 정리

한펭귄·2023년 8월 16일
0

Spring

목록 보기
2/4
post-custom-banner
  • 대상 : javadb를 써본 사람(비전공자면 더 환영)
  • 목적 : Spring에 대한 기본개념, 궁금한 점 간단 정리

1. Spring이란?

  • 쉽게 말하자면 java framework
  • 개발자가 엔터프라이즈 레벨의 비즈니스 로직 개발에 집중하도록 기능 제공 : https://spring.io/projects/spring-framework
    • 종속성 주입(Dependency Injection) : 객체를 주입 받아 사용! new 연산자로 매번 새로운 객체를 만드는 게 아니라 Spring에서 객체를 만들어 관리하고, 해당 객체를 사용하는 코드들은 Spring으로부터 주입받아 공통으로 사용
    • 데이터 바인딩 : db의 테이블을 entity로 취급하여 java에서 데이터를 다루기 쉽게 함
    • 그 외에도 다양한 특징이 있으나 써보면서 가장 크게 느꼈던 특징만 기록

2. SpringBoot와는 무슨 차이?

  • SpringBoot는 Spring을 더 빠르게 사용할 수 있게 만들어놓은 것
  • 세밀한 조정을 직접 하고 싶으면 Spring을, 어느정도 자동화 된 키트를 사용하고 싶다면 SpringBoot를 선택하면 된다
  • 보다 자세한 설명은 inflearn 고승조님의 spring 과 springBoot의 차이점 참고

3. 왜 사용하는가?

  • 이 글을 좀더 요약해서 기록

사용하기 쉽다

  • 복잡한 초기설정 필요 x --> 개발자가 사용하기 쉬움
  • 문서 및 튜토리얼 잘 되어있음

고도로 모듈화 되어있다

  • 전체 스프링 프레임워크를 사용해도 되고, 필요한 모듈만 사용해도 됨

테스트하기 쉽다

  • 스프링 애플리케이션은 대부분 POJO로 구성 --> 단위 테스트 용이
  • 단위 테스트가 복잡해지는 MVC의 경우는 목(Mock) 객체를 제공

실제로 Spring을 사용해봤을 때, 처음에는 그것조차 어렵다고 느꼈지만
지금은 DB 연결 및 DB에서 불러온 데이터를 사용함에 있어서 정말 편리하다고 느끼고 있다.

Annotation을 통해 객체 특성을 부여 및 Spring에 관리를 자동화 하고 쓴다는 것도 굉장한 이점으로 느껴진다. 이외에도 굉장한 장점들이 많을텐데 블로그로 정리하면서 더 잘쓰는 방법들을 배워나가야지!

profile
얼레벌레 개발 어떻게든 가보자고 하는 이야기
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 8월 16일

이렇게 유용한 정보를 공유해주셔서 감사합니다.

답글 달기