● 프레임워크
- 뼈대나 근간을 이루는 코드들의 묶음
- 개발자는 각 개개인의 능력 차이가 큰 직종이고, 개발자 구성에 따라 프로젝트 결과 역시 큰 차이를 낳는다.
- 이런 상황을 극복하기 위한 코드의 결과물이 바로 프레임워크이다.
- 프로그램의 기본 흐름이나 구조를 정하고 모든 팀원이 이 구조에 자신의 코드를 추가하는 방식으로 개발하게 된다.
● 프레임워크의 장점
- 개발에 필요한 구조를 이미 코드로 만들어 놓았기 때문에, 실력이 부족한 개발자라 하더라도
반쯤 완성한 상태에서 필요한 부분을 조립하는 형태의 개발이 가능하다.
- 회사 입장에서는 프레임워크를 사용하면 일정한 품질이 보장되는 결과물을 얻을 수 있고,
개발자 입장에서는 완성된 구조에 자신이 맡은 코드를 개발해서 넣기 때문에 개발 시간을 단축할 수 있다.
● 스프링 프레임워크
- 경량 프레임워크(light-weight)
- 예전 프레임워크는 다양한 경우를 처리할 수 있는 기능을 가지도록 만들다 보니 하나의 기능을 위해서
너무 많은 구조가 필요했다.
- 기술이 너무나 복잡하고 방대했기 때문에, 전체를 이해하고 개발하기에는 어려움이 많았다.
- 그래서 스프링 프레임워크가 등장, 특정 기능 위주로 간단한 jar 파일 등을 이용해서 모든 개발 가능하도록 구성되어 있다.
● 스프링 프레임워크의 장점
- 복잡함에 반기를 들어서 만들어진 프레임워크
- 프로젝트 전체 구조를 설계할 때 유용한 프레임워크
- 다른 프레임워크들의 포용(여러 프레임워크를 혼용해서 사용 가능)
- 개발 생산성과 개발 도구의 지원
● 스프링 프레임워크의 특징
- POJO 기반의 구성
- 의존성 주입(DI)을 통한 객체간의 관계 구성
- AOP(Aspect-Oriented-Programming) 지원
- 편리한 MVC 구조
- WAS에 종속적이지 않은 개발 환경
● 스프링 부트
- 스프링 프레임워크를 사용함에 있어서 초기 설정 및 필요한 라이브러리에 대한 설정의 어려움이 많으며,
시간이 너무 많이 걸리기 때문에 자동설정(AutoConfiguration)과 개발에 필요한 모든 것을 관리해주는 스프링 부트 선호
- 각 코어 및 라이브러리의 버전들도 일치시켜야 하지만 스프링 부트를 사용하면 이러한 복잡성을 해결하기에도 좋다.
● IntelliJ 설치
1. 구글에 intellij 검색 > 다운로드 클릭 > 기타버전 클릭
2. Version 2020.1.1 선택 > Windows ZIP Archive(zip) 클릭하여 다운로드
3. resouce에 압축 해제 > bin폴더 > idea64.exe 실행
4. I confirm... 체크 > Continue > Don't Send > UI theme 선택
5. Next default plugins > Next Featured plugins > start using intellij IDEA
6. Evaluate for Free > Evaluate
● 프로젝트 기본 경로
1) src/main/java : 서버단 JAVA 파일
2) test/main/java : 단위 테스트 JAVA 파일
3) src/main/resources : 설정 파일 및 뷰단
4) src/main/resources/static : css, js, image 파일 경로
5) src/main/resources/templates : html 파일 경로
6) src/main/resources/application.properties : 서버, 경로 및 DB 설정 파일
7) pom.xml : 라이브러리 의존성 관리
실습(프로젝트 생성 및 출력 테스트)
1. 프로젝트 생성
2. src/main/java/com.example.ex00/Ex00Application.java
package com.example.ex00;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class Ex00Application {
public static void main(String[] args) {
SpringApplication.run(Ex00Application.class, args);
}
}
3. src/main/resource/application.properties
#server port
server.port = 10000
4. src/main/resource/templates/index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Welcome to Spring Boot</title>
</head>
<body>
<h1>My First Project Success</h1>
</body>
</html>
![](https://blog.kakaocdn.net/dn/rCScd/btrEvNnEfzf/CouIaJVUKV89hjkkgKD45K/img.png)
'웹 개발 > Spring' 카테고리의 다른 글
[Web_Spring] 07 (0) | 2022.06.19 |
---|---|
[Web_Spring] 06 (0) | 2022.06.18 |
[Web_Spring] 05 (0) | 2022.06.17 |
[Web_Spring] 03 (0) | 2022.06.15 |
[Web_Spring] 02 (0) | 2022.06.14 |