기존 getter/setter
class Animal{
private int 목마름;
public Animal(){} //디폴트 생성자 안적어도 있는 것
public Animal(int 목마름){
this.목마름 = 목마름;
}
public int get목마름(){
}
publci void set목마름(int 목마름){
}
//이 상태를 제어할 수 있는 행위가 있음
}
롬복 형식
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
class Animal{
private int 목마름;
}
Animal.class -> JVM
java Animal (실행 - JVM) - 어노테이션 분석(실행시)
-> 실행시에 getter, setter 자동으로 만들어짐
디펜던시
properties -> yml(xml -> yaml)로 변경
lombok 메서드를 가지고 있기때문에 실행시키면 파일 뜸(jar 실행파일)
리액트는 그림을 그리는 엔진, Node.js로 돌리는 express 서버로 감싸져있음, port는 3000
리액트는 결국 JS이다. JS가 스프링에게 요청을 하면 ajax(비동기)로 요청함 스프링은 data를 응답해야함(데이터는 JSON)
하지만 Json에는 CORS 정책이 있어서 이걸 풀어야함
HTML -> JS변수를 바인딩 할 수 있다. (JSX 문법임)
리액트는 그림을 그릴 때 위치가 옵저버로 구성되어 있다. 우리는 변수의 값만 바꾸면됨 이러한 방식은 Utube라고 생각하면 됨
변수의 값을 변경 할 때 절대로 기존값을 변경하면 안됨, 깊은 목사(어떤 메모리가 있을 때, 그 메모리에 1이 있을 때, 100번지라면 얕은목사는 그 메모리 주소를 2로 바꾸는 것 깊은 목사는 메모리를 새로 만들면서 복사 시키는 것 200번지로 )
모든 서버는 응용프로그램이 자바스크립트면 오는 요청을 거부함, 왜냐하면 자바스크립트가 해킹하기가 쉬움(CORS 정책:Cross Origin Resource Sharing. 자원을 공유하지 않는다.)
포트번호를 8000으로 맞춰주면 이러한 문제 완화됨(8000으로 설정해도 로컬호스트 3000으로 들어옴)
프록시로 접근하여 CORS에 localhost 3000만 허용해놓으면 해결됨
JSX(html 코드에 자바스크립트) = JSP(html 코드에 java 코드)
pub sub(출판과 구독) = 옵저버원리
Json파일로 리턴해야한다 모든 서브스크라이버한테 줘야함(http에 ID를 가진 DOM들에게 줘야함)
headr는 body를 설명하는 것, body는 데이터를 설명하는 것
MessageConverter 롬복으로 게터세터를 json파일로 한번에 바꿔줌(@Getter(뭘 달라는 것), @Setter)
Post 요청은 Insert해달라는 것 값이 있어야 함 RequestBody(유저네임, 패스워드, 이메일) RequestHeader에는 어떤 방식으로 값을 보낼건지가 필요함
Put은 업데이트 하는 것 RequestBody가 있음
Delete는 RequestBody가 없음 주소값으로 처리함
정리 : get, delete 리퀘스트바디 x // post, put 리퀘스트바디 O
User-Agent : 브라우저로 통신한다고 알려주는 것
SI는 Session Id -> Json파일 브라우저로 보내면서 SI도 같이 쿠키로 보냄//자바스크립트는 기본적으로 쿠키에 접근할 수 없다. HttpOnly를 false로 바꿔줘야지 접근가능
내일 배울 것 : RSA(JWT) => 3세대 암호 검증방식(ex: 수학문제를 주고 서버한테 풀어보라고 함, 푸는방법을 알게되면 검증완료), CRUD
@Service, @RestController, @Component -> IoC에 등록됨
@Transactional 작동중일때 다른 요청을 받지않도록 락을 걸어줌