일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Hololens2
- maria db 환경변수 # 스프링 게시판
- 토익 #해커스토익 #해커스토익
- 토익매일하기
- 스프링게시판만들기 #자바 #STS4 #DBeaver
- 토익 #TOEIC #해커스토익 #매일토익RC풀기 #매일토익LC풀기
- mysql #mysql workbench #워크벤치 #스프링 게시판
- 토익 #해커스토익 #매일LC5문제 #매일RC
- 스프링 #스프링부트 #스프링부트 게시판 #게시판 #게시판 만들기 #인텔리제이 #maria db #mysql workbench
- 스프링 #스프링 부트 #스프링 부트 게시판 #게시판 #게시판 만들기 #인텔리제이 #maria db #mysql workbench
- 정보처리기사 #정보처리기사기출 #2023정보처리기사
- 토이프로젝트 #사과는애플
- 스프링 #스프링부트 #스프링부트 게시판 #게시판 #게시판 만들기
- 폴리텍 #벤처창업경진대회 #폴리텍리그
- node.js #Vue3 #Vite #Tailwind #
- 인텔리제이 #인텔리제이단축키
- 시민강좌 #STS4 #DBeaver #자바 #자바스프링 #스프링게시판만들기 #
- 홀로렌즈 # 홀로렌즈 미러링
- Spring #Springboot #Springsecurity #스프링 #스프링 시큐리티 #인증 #인가
- 스프링 #스프링부트 # Spring #Springboot #Spring framework #Java #자바 스프링 #자바
- 블렌더 #시민강좌 #진주시 시민강좌
- 시민강좌 #spring # 자바스프링 #게시판만들기
- 토이프로젝트 #사과는 애플 #애플은 사과
- 인텔리제이 #marid db
- Maria db #Maria db 설치 #Maria db 다운
- 토이프로젝트 #폴리텍 #폴리텍창업대회
- 블렌더 찍먹
- 토익 #해커스토익 #매일RC #매일LC
- Spring #Springboot #Spring게시판 #게시판 삭제 #인텔리제이
- 매일 토익 LC #매일 토익 RC
- Today
- Total
홍태
스프링과 스프링 부트 본문
- 스프링(spring)이란?
'스프링 프레임워크(Spring Framework)'라고 하는데
스프링 프레임워크(Spring Framework)는 자바에서 가장 많이 사용되는 프레임워크로
의존성 주입 (Dependency Injection - DI):
객체들 간의 의존 관계를 느슨하게 만들어 유연한 애플리케이션을 개발할 수 있도록 해주고 객체가 직접 의존하는 객체를 생성하지 않고 외부에서 주입받게 됩니다
IoC 컨테이너 (Inversion of Control Container):
스프링이 객체의 생명주기를 관리하고, 의존성을 해결하는 핵심이고 ApplicationContext 인터페이스가 IoC 컨테이너의 구현체입니다.
빈 (Bean):
스프링에서 관리되는 객체를 의미합니다. 빈은 IoC 컨테이너에 의해 생성, 관리되며, 빈의 생명주기를 관리합니다.
AOP (Aspect-Oriented Programming):
관점 지향 프로그래밍을 지원하고 핵심 로직에서 공통적으로 발생하는 부가 기능들을 분리하여 모듈화할 수 있습니다.
MVC (Model-View-Controller):
애플리케이션을 Model(데이터), View(사용자 인터페이스), Controller(비즈니스 로직)로 나누어 구성하는 디자인 패턴입니다.
스프링 모듈 (Spring Modules):
스프링은 여러 개의 모듈로 구성되어 있습니다. 예를 들어, 스프링 코어, 스프링 AOP, 스프링 ORM 등이 있습니다.
스프링 데이터 액세스/통합 (Spring Data Access/Integration):
데이터베이스 액세스나 다른 서비스와의 통합을 위한 기능을 제공합니다. JDBC, ORM (Hibernate, JPA) 등을 지원합니다.
트랜잭션 관리 (Transaction Management):
데이터베이스 트랜잭션을 처리하고 관리하는 기능을 제공합니다. 스프링은 선언적 트랜잭션 처리를 지원합니다.
스프링 시큐리티 (Spring Security):
인증과 권한 부여를 담당하는 스프링 하위 프로젝트입니다. 보안 기능을 제공합니다.
스프링 부트 (Spring Boot):
스프링 애플리케이션을 빠르게 개발하고 배포하기 위한 프레임워크로, 설정이 간소화되어 있습니다. 내장 서버를 제공하여 별도의 서버 설치가 필요하지 않습니다.
스프링 클라우드 (Spring Cloud):
분산 시스템을 위한 마이크로서비스 아키텍처를 지원하는 프레임워크입니다. 여러 클라우드 환경에서의 애플리케이션 개발과 배포를 간소화합니다.
JPA (Java Persistence API):
자바 객체와 데이터베이스 간의 매핑을 위한 API로, 스프링에서 JPA를 이용하여 ORM을 사용할 수 있습니다.
Spring Boot Starter:
프로젝트에 필요한 의존성을 한꺼번에 가져오기 위한 라이브러리의 집합입니다. 예를 들어, 웹 애플리케이션을 개발할 때는 spring-boot-starter-web를 사용합니다.
Spring Boot Actuator:
애플리케이션의 상태를 모니터링하고 관리하기 위한 기능을 제공합니다. 예를 들어, 서버의 상태, 메모리 사용량 등을 확인할 수 있습니다.
Spring Boot DevTools:
개발자 도구로서, 애플리케이션의 빠른 개발 및 반복적인 테스트를 지원합니다.
등 여러가지 모듈과 특징들이 있습니다.
다음은 스프링 부트 특징입니다.
- 스프링 부트가 나오게 된 이유?
→ 스프링(Spring) 을 통해 웹 애플리케이션을 실행시키기 전까지의 많은 환경 설정을 자동화 하여
개발자가 편하게 Spring 사용하도록 도와주기 위해 등장
스프링 부트 프로젝트 (Spring Boot Project):
스프링 부트를 이용하여 개발하는 프로젝트를 말하는데 스프링 부트 프로젝트는 메이븐 또는 그레이들과 같은 빌드 도구를 사용합니다.
스프링 이니셜라이저 (Spring Initializr):
스프링 부트 프로젝트를 쉽게 시작할 수 있도록 제공하는 온라인 도구입니다. 필요한 기술 스택과 설정을 선택하여 프로젝트를 초기화할 수 있습니다.
스프링 부트 스타터 (Spring Boot Starter):
프로젝트에 필요한 의존성을 한번에 가져오기 위한 라이브러리의 집합입니다. 예를 들어, spring-boot-starter-web은 웹 애플리케이션을 개발할 때 필요한 의존성들을 포함합니다.
내장 서버 (Embedded Server):
스프링 부트가 기본적으로 내장하고 있는 서버입니다. 주로 Tomcat, Jetty, Undertow과 같은 서버를 내장하여 별도의 서버 설치 없이 애플리케이션을 실행할 수 있습니다.
자동 설정 (Auto Configuration):
프로젝트의 종속성을 분석하고, 필요한 설정을 자동으로 구성해주는 기능입니다. 개발자가 별도의 설정을 하지 않아도 프로젝트가 동작할 수 있도록 도와줍니다.
스프링 부트 액추에이터 (Spring Boot Actuator):
애플리케이션의 상태를 모니터링하고 관리하기 위한 기능을 제공합니다. 예를 들어, 서버의 상태, 메모리 사용량, 요청 통계 등을 확인할 수 있습니다.
스프링 부트 데브툴즈 (Spring Boot DevTools):
개발자 도구로서, 애플리케이션의 빠른 개발 및 반복적인 테스트를 지원합니다. 코드의 변경 사항을 실시간으로 반영할 수 있습니다.
스프링 부트 어플리케이션 클래스 (Spring Boot Application Class):
스프링 부트 애플리케이션의 시작점으로, 주로 main 메소드가 포함된 클래스입니다.
외부 설정 (External Configuration):
애플리케이션의 설정 정보를 외부에 저장하고 관리할 수 있도록 해줍니다. application.properties 또는 application.yml 파일을 이용하여 설정을 구성할 수 있습니다.
데이터베이스 자동 설정 (Database Auto Configuration):
스프링 부트는 데이터베이스 연동을 위한 설정을 자동으로 처리해주며, 내장 데이터베이스(H2 등)의 경우 별도의 설정 없이 사용할 수 있습니다.
Spring Boot CLI (Command Line Interface):
명령 줄에서 스프링 부트 애플리케이션을 빠르게 개발하고 실행할 수 있는 도구입니다.
Spring Boot Test:
스프링 부트에서 테스트를 작성하고 실행하기 위한 기능을 제공합니다. @SpringBootTest 등의 애노테이션을 사용하여 테스트를 구성할 수 있습니다.
Spring Boot Maven 플러그인 (Spring Boot Maven Plugin):
메이븐 빌드 도구와 통합하여 스프링 부트 애플리케이션을 빌드하고 실행할 수 있는 기능을 제공합니다.
Spring Boot Gradle 플러그인 (Spring Boot Gradle Plugin):
그레이들 빌드 도구와 통합하여 스프링 부트 애플리케이션을 빌드하고 실행할 수 있는 기능을 제공합니다.
'J4VA' 카테고리의 다른 글
스프링 게시판 만들기 2 - 테이블 생성 및 게시 글 작성 폼 생성 (0) | 2023.08.26 |
---|---|
스프링 게시판 만들기 1 - 프로젝트 생성 (0) | 2023.08.26 |
시민 강좌 Java (0) | 2023.07.12 |
시민 강좌 Java(Spring 게시판만들기) (0) | 2023.07.10 |
인텔리제이 단축키 <윈도우> (0) | 2023.07.04 |