Spring Boot가 뭐더라..?

kinkin_a·2025년 4월 4일

내일배움캠프 TIL

목록 보기
84/100

build.gradle에 있는 의존성은 뭔가 생각하다 복습 겸 지금까지 배운 spring 개념 알고 있는 것 간략하게 정리해 봄..

🏵️ Spring Boot


  • JAVA 언어를 기반으로 만든 개발자가 어플 개발 후 서버 배포를 편리하게 도와주는 프레임워크

  • build.gradle 에 의존성만 추가하면 스프링 부트가 알아서 내장 로컬 서버(Tomcat) 를 할당한 후 바로 실행을 가능하게 도와준다.

    implementation 'org.springframework.boot:spring-boot-starter-web' // 웹 어플리케이션 개발용
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // JPA 사용 시
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    ...
   

(그냥 intelliJ에서 new Project 에서 spring boot로 시작하면 됨!)

  • Spring BootSpring Framework에서 업데이트 된 버전으로, 기존에서 어렵고 번거로운 부분들이 간단하게 바뀜.

항목Spring FrameworkSpring Boot
설정 방식XML, 복잡한 Java Config대부분 자동 설정 (자동 빈 등록 등)
서버 실행외부 Tomcat 설치 필요내장 Tomcat 자동 실행
의존성 관리수동으로 추가starter로 간편하게 관리
실행 방식복잡한 빌드 필요main() 실행으로 바로 작동
개발 속도느림, 번거로움빠르고 편리함


  • 현재 실무에선 대부분 Spring Boot 를 쓰기에 Spring= Spring Boot 라고 생각해도 됨.

  • 이 위에 JPA, Security, Redis, Kafka, MySQL, Swagger 대부분 프로그램 연동 가능.

  • JAVA는 앱을 만들기 위한 프로그래밍 언어

  • 옛날 옛적 개발자들은 JAVA만으로 API, DB연동, 서버 구현과 배포까지 모든 걸 하나하나 코드로 작성해내야했음

  • 실제 사용자에게 개발한 웹/앱을 배포하려면 24시간 늘 켜져있는 서버컴에서 서버를 대여해야함(ex)aws)

  • 그걸 Spring Boot에서는 톰캣 내장 서버로 연동시켜줘서 배포 전 테스트를 간편하게 가능하게 해줌(로컬 서버라서 localhost:8080 / 도메인은 정식 서버로 배포할 때!)

++

📜 API


  • 서버와 클라이언트가 서로 필요한 정보를 통신하기 위해 약속한 규칙= 인터페이스.
  • 요청+ 응답+ http 메소드(post,get,put,delete)구성+Rest API(=url 규칙)



🚛 JSON


  • 서버에서 데이터를 주고받을 때 쓰는 간편한 형식.

  • key:value 으로 구성되어 있음

  • JAVA 객체를 JSON 언어로 바꾸는 것= 직렬화(요청)

  • JSON 언어를 다시 JAVA 객체로 바꾸는 것 = 역직렬화(응답)

public class User {
    private String name;
    private int age;
}

이 객체를

{
  "name": "홍길동",
  "age": 25
}

이 형태로 변환시켜 값을 추가해 요청을 보낸다.



❗️결론


현재 내가 인텔리제이로 하고 있는 것: spring boot를 이용해서 java언어로 앱 개발 코드를 작성한 후, spring boot가 자동 연결시켜 준 톰캣 서버 이용해서 postman에서 java객체를 json으로 직렬화해서 내가 작성한 로직대로 요청을 보내고 응답이 맞게 오는지 확인하는 것..

아뇨?ㅠ0ㅠ

0개의 댓글