스프링부트 - 프레임워크
프레임워크 공부할때 깊숙히 이해하려 하지말고 일단 도전하라.
스프링 프레임워크는 어마어마한 도구들이 존재하는데
각각 설정하는게 굉장히 중요함
설정 코드 보통 50줄이 넘음
설정하는 부분에서 포기를 굉장히 많이 함(스프링부트가 나오기 이전)
application.properties 파일이 생기고 30%로 일 할 거리가 줄어듬
외부프로그램(라이브러리)은 어떤 프로그램에 모여있음 그걸 코드로 가져와야함
build.gradle 내에 있는 dependencies 제일 중요
[10분 테코톡] 희봉의 웹서버 vs WAS
Web
-인터넷을 기반으로 한, 정보를 공유, 검색할 수 있게 하는 서비스
Server
-클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템
Web Server
<html은 프로그래밍 언어가 아니다>
WAS란
Web Application Server
Web Application
-웹에서 실행되는 응용 프로그램.
Web Application Server
-웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크.
-웹 애플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버에게 전달.
-php.jsp.asp와 같은 언어등을 사용해 동적인 페이지를 생성할 수 있는 서버
-프로그램 실행 환경과 데이터베이스 접속 기능 제공
-비즈니스 로직 수행 가능
-웹 서버 + 웹 컨테이너
*컨테이너:jsp,servlet을 실행시킬 수 있는 소프트웨어
-자바 계열에선 웹 애플리케이션 컨테이너라 부름
*웹 애플리케이션 컨테이너: 웹 애플리케이션이 배포되는 공간
[10분 테코톡] 코기의 Servlet vs Spring
1.서블릿이란
서블릿 컨테이너와 서블릿 동작 방식
프론트 컨트롤러 패턴
Dispatcher Servlet의 요청 처리 괒어
스프링 컨테이너 맛보기
조금 더 나아가서
웹 서버와 웹 어플리케이션 서버
WAS가 멀티 스레드를 관리하는 방식
스프링 설정 파일과 서블릿 설정 파일
스프링 컨테이너에 빈을 등록하는 방법/ 컨테이너가 주입 위치를 찾는 방법
디폴트 서블릿
스프링과 스프링 부트
[10분 테코톡] 닉의 Spring vs Spring Boot
봄 vs 조금 더 봄
makes it easy
stand-alone
production-grade
spring based applications
"just run"
YAML
YAML Ain't Markup Language(휴머리너블하게 지었다)
내장 서블릿 컨테이너 덕분에 jar 파일로 배포
SpringBoot 정리
1.간편한 설정
2.편리한 의존성 관리 & 자동 권장 버전 관리
3.내장 서버로 인한 간단한 배포 서버 구축
4.스프링 Security, Data JPA 등의 다른 스프링 프레임워크 요소를 쉽게 사용
개발자들이 개발에만 더욱 집중할 수 있도록 하는것이 스프링부트의 장점이다.
[10분 테코톡] 티버의 API vs Library vs Framework
API
Application Programming Interface
응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
(프로그램간의 연결을 해주는 다리 역할)
특징
구현과 독립적으로 사양만 정의되어 있다.
api에 따라 접근 권한이 필요할 수 있다.
3.JAVA API, 여러 기업들의 오픈 API
https://console.cloud.google.com/
Library
응용 프로그램 개발을 위해 필요한 기능(함수)을 모아 놓은 소프트웨어
특징
1.독립성을 가진다.
2.응용 프로그램이 능동적으로 라이브러리를 사용한다.
*능동적이다?ex)
-학생들의 성적이 담긴 문자열을 입력 받는다.
-필요한 라이브러리를 호출해서 원하는 값을 얻는다.
아파치,롬복
Framework(사전적의미: 틀,뼈대/일(하다))
응용 프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기 위해
제공된 소프트웨어 환경
특징
1.상호협력하는 클래스와 인터페이스의 집합이다.
2.응용 프로그램이 수동적으로 프레임워크에 의해 사용된다.
*수동적이다?ex)
Spring Framework -> 개발자가 작성한 비즈니스 로직
루니 온 레일즈
library와 api 차이점 구현 로직의 유무
으용 프로그램의 흐름 주도권을 누가 가지고 있느냐의 차이
올레의 JPA와 JDBC
체스과제 수행시
(1) 테이블 생성
(2) connection 설정
(3) 데이터 삽입
체스 과제로 알아본 jdbc의 특징
1.sql문
2.connection 관리
3.preparedstatement result 관리
jpa 장점
1.sql 문을 직접 java.application 내에서 적응 경우가 적어진다.
2.sql 구조를 java.application 내에서 적용하지 않아도 된다.