90% @GetMapping은 url입력하면 보여줌10% @PostMapping은 post요청이 발생해야만 동작함 데이터를 수정,저장@Component공유 객체 : 요리가 여러개여도 요리사는 한명만 있으면 되니까 하나만 만들겠다는 의미\-> @Autowried로 연결시
Bean : 재사용 가능한 component, @Component도 이에 해당함\--> articles를 생성하면 bean으로 등록된 해당 생성자?가 linkedlist를 리턴해줘서 해당 리턴을 필드에 주입한다.\-->재활용하기 힘든 객체를 재활용하고 싶을 때 사용가
thymeleaf는 @ResponseBody가 없으면 Model객체에 정보를 삽입해서return된 문자열을 이름으로 가진 http과 model객체를 잘 결합해서 보내는 방식이고Get과 Post의 요청과 맵핑이 있다.@RestController가 붙고Next.js는 프론
쿠키클라이언트 측(브라우저)에 저장되는 작은 데이터 조각이며, 주로 사용자의 선호 설정, 세션 ID 등을 저장하는데 사용된다.세션웹사이트에 접속하면 서버에서 자동으로 (엄청 복잡한)ID를 쿠키에 담아서 지급해줌메모리나 DB에 세션ID와 그에 해당하는 신원정보(로그인 할
습관적으로 코드를 작성할 때 ;을 붙였더니실행은 정상적으로 되는데 쿼리문이 출력되지 않아서 찾아보니 ;가 문제였다.;을 제거해주니 정상적으로 출력되었다.
Resource Owner (owner) = 자원의 소유권을 지닌 주체 = 유저Resource Server (server) = 자원을 보관하는 주체 = 외부 서버\*자원 = 회원정보(아이디, 비밀번호...)Client = 외부 서버에서 기능을 빌려오려는 주체 = 우리
SecurityConfig에서 permitAll을 설정한 링크들은 뒤에 있는 조건도 다 통과한다.이렇게 되면 모든 url에 대한 접근에 권한을 부여하기 때문에뒤에 특정 url에 대한 조건을 붙여도 다 통과되어 버린다.특정 url에 대한 권한 확인은컨트롤러에서 해당 ur
매개변수 앞에 붙이고json파일이나 url에 있는 data가 내가 만들어둔 객체의 필드에 들어간다.JSON 혹은 XML의 키 이름이 자바 객체의 필드 이름과 일치하는 것이 기본적인 전제조건 게터(getter), 세터(setter) 메소드가 필요method앞에 붙이고기본
jpa에서 save는 pk로 row와 객체를 구분한다. 따라서 save를 했을 때 pk가 같다면 db에서는 업데이트가 이루어진다.위 메서드를 실행했을 때 아래에 있는 쿼리가 실행된다.
FetchType.Lazy인 경우 findBy로 객체를 받아오면 그 객체는 프록시 객체다. 실제로 사용되기 전에 쿼리를 날리고 데이터를 받아와 객체를 만들어두면 불필요한 쿼리를 날릴 수 도 있고 메모리가 낭비된다.그래서 프록시객체를 만들어주고 나중에 필요하면 쿼리를 날
thymeleaf상속을 할 때 dialect dependency와타임리프가 타임리프 표현을 읽을 수 있도록을 적어줘야 한다.
트랜잭션 : 데이터베이스의 작업 단위데이터베이스 작업을 할 때 CRUD가 각각의 트랜잭션으로 동작하는데 여기서 한 메소드에 한 개 이상의 트랜잭션이 동작하는 경우한 트랜잭션이 실패하면 이전에 실행된 트랜잭션의 결과가 남아있어서데이터 무결성(데이터가 뒤죽박죽) 문제가 일
.httpOnly(true) .path("/") .secure(true) .sameSite("None") // SameSite 설정
외래키 제약?? -> rebate_item에 order_item의 키가 필요하면 order_item_id가 정말로 order_item(연관 테이블)에 존재하는지 확인함(무결성 검사)@JoinColumn(foreignKey = @Foreignkey(ConstraintMo
@OneToOne 관계에선 필드(컬럼)이 unique = true가 되는데 (rebate_item - oder_item)해당 item이 하나만 구매되는게 아니기 때문에 동일한 외래key가 생성되어야 하는데unique = true 때문에 불가능.해당 필드를 @ManyTo
Web Server : 클라이언트랑 소통(요청 응답) + application server랑 소통(http요청을 Servlet에게, http응답을 생성해서 웹서버에게)Servlet : 요청 HttpRequestServlet, 응답 HttpResponseServlet 요
csrf : 인증된 사용자가 이상한 데이터를 계속보내오는걸 막으려고 post마다 토큰으로 관리cors : 서버에 등록되지 않은 url로 부터의 통신을 막는다. (웹 애플리케이션의 리소스 공유 정책을 결정)
엔티티에 Member member로 넣으면 관계형long memberId로 넣으면 비관계형
페이징으로 3페이지를 구성한다면1,2,3각각의 페이지를 누를 때마다 쿼리가 날아가고 정렬이 발생한다.대규모 데이터가 존재할 경우에 정렬이 매번 이뤄지면 응답이 느려질 수 밖에 없다.