[UMC] UMC 1st Lecture

최동근·2023년 4월 5일
0

UMC

목록 보기
1/3
post-custom-banner

🌱 스프링 프레임워크에 대해서

스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 한다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다.

[1] 동적인 웹 사이트란?

정적 웹 페이지 : 한국외대
동적 웹 페이지 : 비트코인 , 무신사


Web Server 와 WAS 의 차이점에 집중해보기 ❗️

[2] 프레임 워크란?

frame은 "틀"이란 뜻이다.
work은 "일하다"라는 뜻으로 이것을 합쳐보면 "틀을 가지고 일하다"가 된다.
즉 프레임워크는 일정한 틀과 뼈대를 가지고 일하다라는 뜻으로 제공받은 일정한 요소와 틀, 규약을 가지고 무언가를 만드는 일이다.
It업계에서는 이것을 프레임워크라고 한다.
즉 소프트웨어에서의 프레임워크는 "프로그램을 개발하기 위해 사용되는 틀을 제공하는 프로그램" 이라고 본다.

프레임워크는 여러종류가 존재한다.
자바프레임워크에서는 Struts, Spring, 전자정부 프레임워크 등이 존재하고
QRM 프레임워크는 myBatis(iBatis), Hibernate 등이 있으며
자바스크립트 프레임워크는 AngularJS, React, Polymer, Ember 등,
프론트엔드 프레임워크는 Bootstrap, Foundation, MDL 등이 있다.

쉽게 정리하자면 [라이브러리]는 개발자가 호출해서 사용하는 거라면 프레임워크는 개발자가 프레임워크가 정해놓은 규약에 맞춰 [프레임워크]에 의해 동작되는 것

[3] 스프링 프레임워크의 인기

토스
그린카
우아한 형제들
쿠팡
라인

[4] 스프링 프레임워크의 핵심 개념(중요)❗️

- Spring Container(=DI Container)

- DI (Dependency Injection : 의존성 주입)

의존 관계 주입(DI)이란?
DI는 의존 관계를 외부에서 결정(주입)해주는 것을 말한다. 스프링에서는 이러한 DI를 담당하는 DI 컨테이너가 존재한다. 이 DI 컨테이너가 객체들 간의 의존 관계를 주입한다.

-> 의존성 예시


public class Parent {
	
    private Children children; // <- Parent 클래스는 Children 타입에 의존하고 있다 ❗️
    
    private GrandParent grandParent;
    
 	public void say() {
    	System.out.println("저는 부모입니다.");
    }
}

- IOC (Inversion of Controller : 제어의 역전)

[5] Spring MVC

  • 전통적인 Spring MVC (Model, View, Controller)

  • 우리가 사용할 Spring MVC

🌱 스프링 부트란?

스프링 부트(Spring Boot)는 스프링(Spring)을 더 쉽게 이용하기 위한 도구라고 볼 수 있습니다. 스프링 이용하여 개발을 할 때, 이것저것 세팅을 해야 될 요소들이 많습니다. 여러가지를 세팅해야되는 진입 장벽이 존재하여 Spring 을 처음 배우려는 사람들은 중도에 그만두는 경우가 많다고 합니다. Spring Boot는 매우 간단하게 프로젝트를 설정할 수 있게 하여, Spring 개발을 조금 더 쉽게 만들어주는 역할을 하고 있습니다.

스프링과 스프링부트 을 참고해주세요

🌱 게시판 만들기 프로젝트

[1] API 명세서

CREATE : http://localhost:8080/board/create/{boardId}?title=제목&content=내용

READ : http://localhost:8080/board/get

UPDATE : http://localhost:8080/board/update/{boardId}?title=제목&conent=내용

DELETE : http://localhost:8080/board/delete/{boardId}

[2] 직접 프로젝트를 만들어봅시다!

Spring boot ver : 2.7.10
build : gradle
IDE : Intellij

[3] build.gradle 이란

https://araikuma.tistory.com/463

[4] Lombok 이란

Lombok 이란

🌱 개인 과제

profile
비즈니스가치를추구하는개발자
post-custom-banner

0개의 댓글