스프링부트의 기본 요소 익히기
Spring 이란?
정확히는 spring framework -> 자바에서가장많이 사용되는 프레임워크.
의존성주입(DI, dependency injection)
제어역전(IOC, inversion of control)
관점지향프로그래밍(AOP)
세가지 가장 중요한 요소. -> 느슨한 결합 달성할 수 있음
DI : 예를 들어, 클래스 A가 클래스 B에 의존하고 있다면, 클래스 A에게 클래스 B의 인스턴스를 외부에서 주입하여 사용하는 것이 DI의 핵심 아이디어입니다. 주로 생성자 주입, 메서드 주입, 속성 주입 등의 방법으로 의존 객체를 주입할 수 있습니다.
스프링부트가 제공하는 기능
1. 자동설정이용
2. 앱 개발하면서 사용되는 디펜던시들을 springboot starter를 제공하여 자동호환 해줌?
.
.
등등
객체생성 개발자가 안하고 스프링부트가 임의로 해놔서 저장해놈
bean -> 저장소 : 컨테이너
모르는 객체는 사용할수 없음 -> 반드시 해당객체는 bean등록 해놔야함
예를들어,. 클래스 만들고 코드작성할때 jpa가 쓰고싶다 하면
Jpa jpa = new . . -> 이렇게 하면 안됨. 객체생성 직접하면X. -> 어노테이션(@)으로 autowired함
↓
@Autowired
Jpa jpa;
이렇게 해놓으면 됨.
autowired명령어 읽고 컨테이터에서 jpa객체 알아서 주입해줌. ->DI 의존성주입 임.
내가 만들지 않는다. 스프링이 만들어준다. 대신 뭐만들지만 @로 알려주기.:빈 등록,
의존성주입 요청,.
웹 서비스가 이루어지는 방식
URL : 자원의 위치
IP : 컴터의 네트워크 주소. 컴터 많이 연결돼있는 인터넷 상에서 컴터 하나하나 구별하기 위함.
port : 네트워크 프로그램 식별 코드. 하나의 컴터 안에서 여러개의 네트워크 프로그램중 구별하기 위함.
클라이언트 : 요청하는 pc
서버 : 제공하는 pc
클라이언트가 요청을하면 서버가 응답해주는방식.
브라우저가 요청 보낼때 url보냄 -> 서버가 어떤문서를 보낼지 결정해주는..
스프링이 웹 모듈 제공하는거임정확히는 webMVC
html은 문서일뿐 프밍언어가 아니다. 고정값?
데이터바인딩 : db에서 데이터 가져와서 꽂아넣는거
웹서버가 클라이언트의 요청에따라 지가갖고잇는 문서 줄수도 잇고 프로그래밍이 필요한부분은 자바한테 요청해서 자바한테 받을거 줄수도 있다.