일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터분석
- html
- SpringBoot
- tag
- 코딩
- 자바스크립트
- 서비스기획
- 서비스분석
- 서비스 기획
- UX
- 프로젝트 매니저
- 회고
- jquery
- PO
- UI
- kpt회고
- 생활코딩
- 코드스테이츠
- 스프링
- 프로덕트 매니저
- PM
- javascript
- CSS
- 쇼핑몰
- 스프링부트
- 데이터
- db
- 회고록
- PM부트캠프
- 서비스 기획자
- Today
- Total
콘텐츠기획자의 IT입문서
Spring Boot / Spring이란? 본문
스프링 프레임워크란?
자바 생태계에서 가장 대중적으로 사용되는 개발 프레임워크.
경량 프레임워크라는 특징을 가진다.
개발의 전 과정을 빠르고 효율적으로 진행하는데 일차적인 목표를 둔다.
*스프링 프레임워크는 설정이 반이라고 할 정도로 셋팅이 복잡한 편.
주요 특징
- 객체지향 + 의존성 주입 (Dependency Injection)
더보기스프링을 이용하는 환경에서의 각각의 객체를 생성하고, 설정을 통해 이들을 연결 하는 것.
과거 개발자가 직접 코드로 연결을 해줬다면, 스프링은 내부에 객체들을 가지고 있으므로 선언만 해주면 자동으로 원하는 객체를 넣어준다. - 제어의 역전 (Inversion Of Control)
더보기메서드 또는 객체의 호출을 개발자가 제어하는 것이 아닌 외부에서 결정하는 것.
이들을 통해 결합도를 낮추는 방식으로 어플리케이션을 개발할 수 있다. (결합도를 낮춰 단순하게 만듦)
이러한 개발 방식으로 개발한 응용 프로그램은 단위 테스트가 용이하여 보다 퀄리티 높은 프로그램을 개발할 수 있다.
https://yoon-ve.tistory.com/48
- MVC 패턴
1) 사용자가 게시글을 작성한 후 등록 요청
2) 컨트롤러는 게시글에 있는 데이터를 전달받아 유효성을 검증.
3) 검증 완료 후, 모델영역에 데이터의 가공을 요청.
4) 가공 완료 후, 데이터베이스에 데이터를 저장하고, 모델은 저장의 성공/실패 여부를 컨트롤러에게 전달.
5) 컨트롤러는 등록 요청에 대한 결과를 뷰로 전달.
Model : 데이터를 처리하는 영역으로, 데이터베이스와 통신하고 사용자가 원하는 데이터를 가공하는 역할.
View : 사용자가 보이는 화면을 의미. HTML과 타임리프를 사용해서 화면을 처리함.
Controller : Model과 View 사이에서 중간 다리 역할을 하는 영역.
사용자가 웹에서 요청을 하면 가장 먼저 컨트롤러를 경유한다.
컨트롤러는 사용자의 요청을 처리할 로직을 호축하고, 호출한 결과를 사용자에게 전달하는 역할 수행.
스프링부트 프로젝트 구조
1) src/main/java
클래스, 인터페이스 등 자바 파일이 위치하는 디렉토리
2) src/main/resource
내부에 static, templates 폴더와 application.properties 파일이 자동 생성됨
-templates 폴더 : 화면과 관련된 파일이 위치 (html)
-static 폴더 : 정적 리소스 파일이 위치 (css, script, images, fonts 등)
-application.properties : 웹 어플리케이션을 실행하면서 자동으로 로딩되는 파일.
WAS(포트 번호, 콘텐스트 패스 등) 설정이나
데이터베이스 관련 정보 관련 설정을 해당 파일에
Key-Value 형식으로 지정해서 처리 가능.
3) src/test/java
각각의 단계에 알맞은 테스트를 진행 할 수 있음. (기존 스프링과 달리 복잡한 설정 없이 테스트 가능)
4) build.gradle
plugin, dependency 정보를 담고 있음.
메이븐에 비해 그레이들은 단 한 줄의 코드로 라이브러리를 추가할 수 있다는 장점이 있음.
*메이븐은 라이브러리 버전 문제, 충돌 문제 등 다양한 문제를 발생시키므로 요즘은 그레이들을 사용하는 추세
'Spring' 카테고리의 다른 글
맥북에서 파일경로 설정 (C드라이브, D드라이브) (0) | 2022.03.08 |
---|---|
Spring Data JPA - 쿼리 메서드 & @Query (0) | 2021.09.06 |
Spring Data JPA & 데이터베이스 CRUD 및 Paging (0) | 2021.09.04 |
Hello, Spring Boot! 프로젝트 실행하기 (0) | 2021.09.04 |
Spring Boot 프로젝트 구성 및 생성하기! (0) | 2021.09.04 |