간단 실습 정리
1. 인텔리제이 설치
2. 인텔리제이 커뮤니티를 통한 프로젝트 생성
3. 그레이들 프로젝트를 스프링 부트 프로젝트로 변경
- build.gradle 파일에서 해당 프로젝트의 플러그인 의존성 관리를 위한 설정 할 수 있다
buildscript {
ext { // 전역 변수 설정
springBootVersion = '2.1.7.RELEASE'
}
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
//선언한 플러그인 의존성 적용
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management' //스프링 부트의 의존성들을 관리해주는 플러그인
group = 'com.jojoldu.book'
version = '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories { //의존성(라이브러리) 원격 저장소
mavenCentral()
jcenter()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
4. 프로젝트 깃허브 연동
- .gitignore 파일 생성
스프링이란?
spring framework를 한마디로 정의하면 "오픈소스 자바 웹 프레임워크" 입니다.
뜻을 하나씩 살펴보자면,
오픈소스 : 소스가 공개되어있어, 누구나 자유롭게 확인, 수정, 배포할 수 있는 소스입니다.
자바 : 썬 마이크로시스템즈의 제임스 고슬링 주도로 개발된 객체 지향적 프로그래밍 언어입니다.
웹 : 인터넷이나 인트라넷을 위한 웹사이트를 개발하는것을 의미합니다.
프레임워크 : 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조/틀입니다.
이를 다시 한 문장으로 표현하자면, Java로 웹사이트를 쉽고 빠르게 개발하기 위한 틀이라고 생각할 수 있습니다.
스프링 프레임워크의 특징
- 여러 문제점을 해결하기 위한 디자인 패턴과 아키텍쳐 적용되어있습니다.
- 경량 컨테이너에서 자바 객체를 직접 관리: 객체 생성, 소멸과 같은 라이프 사이클을 프레임워크에서 관리합니다.
- POJO(Plain Old Java Object)방식 : 객체가 가벼우며, 기존에 존재하는 라이브러리 등을 활용하여 개발이 가능합니다.
- 제어 반전(IoC : Inversion of Control) : 필요에 따라 스프링에서 사용자의 코드를 호출합니다.
- MVC 패턴(MVC pattern) : 모델-뷰-컨트롤러 세 가지 구성요소로 나눈 패턴을 사용하여 모듈화된 개발방식을 지원합니다.
- 의존성 주입(DI : Dependency Injection) : 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜줍니다.
- 데이터 액세스 프레임워크 : mybatis나 hibernate 등 이미 완성도가 높은 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공합니다.
- 관점 지향 프로그래밍(AOP : Aspect-Oriented Programming) : 로깅, 보안 같은 공통 기능을 분리하여 관리 가능합니다.
스프링과 스프링 부트의 차이
Spring은 스프링 프레임워크의 핵심 모듈을 모아서 만든 프레임워크입니다. Spring에서는 개발자가 직접 설정 파일을 작성하여 스프링 컨테이너를 구성하고, 필요한 빈 객체를 등록하고, 빈 객체 간의 의존성을 설정해야 합니다. Spring은 특정한 구성을 위해 추가적인 라이브러리와 설정이 필요합니다.
반면, Spring Boot는 스프링 프레임워크를 보다 쉽게 사용할 수 있도록 만든 프레임워크입니다. Spring Boot에서는 개발자가 설정 파일을 작성할 필요 없이, 프로젝트의 설정과 라이브러리 의존성을 자동으로 처리해주는 기능을 제공합니다. 또한, Spring Boot는 실행 가능한 JAR 파일을 만들 수 있습니다.
'Group Study (2023-2024) > Spring 입문' 카테고리의 다른 글
[스프링 입문] 5주차 chap 06 - AWS 서버 환경을 만들어보자 - AWS EC2 (0) | 2023.12.25 |
---|---|
[스프링 입문] 4주차 chap 05 - 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (1) | 2023.11.27 |
[스프링 입문] 3주차 chap 04 - 머스테치로 화면 구성하기 (1) | 2023.11.16 |
[Spring 입문] 1주차 chap 03 - 스프링 부트에서 JPA로 데이터베이스 다뤄보자 (0) | 2023.11.10 |
[스프링 입문] 1주차 Chap 02 - 스프링 부트에서 테스트 코드를 작성하자 (0) | 2023.11.05 |