[ Spring Boot ] 스프링(Spring) 이해 및 프로젝트 생성

2024. 1. 30. 17:23· BACK-END/└ Spring Boot

 

스프링(Spring)이란? 

 - 자바 기반의 오픈 소스 프레임워크로, 엔터프라이즈급 애플리케이션을 개발하기 위한 다양한 기능과 기술을 제공한다

 - 웹 개발을 위해 필요한 파일들을 세팅하는 공간

 

 [주요 특징 및 기능]

  ① 의존성 주입(DI, Dependency Injection) 

      - 프로그래밍에서 구성요소 간의 의존 관계를 외부의 설정파일을 통해 정의 하는 방식.

      - 스프링은 의존성 주입을 통해 객체 간의 결합도를 낮추고 코드의 유지보수성을 향상 시킴.

 

  ② 관점 지향 프로그래밍 (AOP, Aspect-Oriented Programming) 

      - 여러 모듈에서 공통적으로 사용하는 기능을 분리하여 관리할 수 있음

      - 재사용성을 높여주는 프로그래밍 기법

 

  ③ 제어반전 (IoC, Inversion of Control)

      - 인스턴스의 생성부터 소멸까지 객체 생명주기 관리를 스프링(컨테이너)가 대신 해주는 것

      - 제어권이 IoC에게 있음. 개발자는 코드를 호출하여 그 코드로 생명주기를 제어함.

 

  ④ POJO(Plain Old Java Object) 방식

       - 순수 Java만을 통해서 생성한 객체로, Java 및 Java의 스펙에 정의된 기술만 사용한다는 의미 

       - Getter/Setter를 가진 단순한 자바 오브젝트

       - JavaEE 사용의 단점을 보완하기 위해 나온 방식, 코드가 가벼워지고 단순해짐

 

관련해서 참고 추천 링크 : https://www.codestates.com/blog/content/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8


설치할 프로그램 : SpringToolSuite4.exe

 

프로젝트 생성을 위해 아래 경로로 들어간다. 

[File] → [New] → [Spring Starter Project] 

 

프로젝트 기본 정보 설정을 아래와 같이 진행하였다. 

이름 설명 비고
Service URL 지원하는 정보 URL  
Name  프로젝트 이름 spring01로 설정
Type 프로젝트 관리 프레임워크 설정
(Maven/Gradle-Kotlin/Gradle-Groovy)
Maven으로 설정
Packaging 배포형태(jar/war) War로 설정
Java Version 사용할 자바 버전 17로 설정
Language 사용할 언어(Java/Kotlin/Groovy) Java로 설정
Group 식별을 위한 그룹 정보 com.example로 설정
Artifact 식별을 위한 애플리케이션 정보  
Version 애플리케이션 버전 정보  
Package 스프링에서 관리할 패키지 시작점(Root) com.example.spring01로 설정

 

- 외부 라이브러리는 Web만 추가해주었다.

 

 

기본 정보 설정을 한 후 Finish 버튼을 누르면, 아래와 같이 프로그램이 알아서 프로젝트를 생성해준다. 

 

프로그램이 잘 돌아가나 실행을 한 번 해보자

[spring01 프로젝트] - [com.example.spring01 패키지] - [Spring01Application.java 실행]

 

실행을 하려고 하면 어떻게 실행할 것인지에 대해 묻는 창이 뜬다.

      · Java Application : 자바에서 실행

      · Java Application in Container : 자바이고, 가상환경에서 실행

      · Spring Boot App : 스프링 부트에서 실행

 

나는 Spring Boot App에서 실행되게 끔하였다. 

 


 

그런데, 오류 발생;

이미 사용하고 있는 포트이기 때문에 오류가 발생하였다.

 

 

포트 번호를 바꿔주기 위해 DBeaver에서 아래 명령어를 활용하여 설정해주었다. (cmd에서 처리해도 무관)

(주의) 관리자 권한으로 실행하여야 함.

(주의) 명령 실행을 아래와 같이 진행하여야 함.

         [실행] - [Execute SQL Script natively]

-- 포트 확인
SELECT dbms_xdb.gethttpport() FROM dual;

-- 포트 변경
EXEC dbms_xdb.sethttpport(9090);

 

실행 방법 및 실행 결과
포트 확인

 

다시 재실행 해보면 정상적으로 작동하는 걸 확인할 수 있다.

 

 

 

 

 

 

 

 

개인 공부 기록용입니다:)

Chat GPT 및 여러 블로그,티스토리 참고하였습니다.

728x90