My footsteps
- EJB (엔터프라이즈 자바 빈) : 함수를 두개 호출하고 트랜젝션이 열리고 트랜젝션이 끊어지고 반복해서 그것들을 묶어서 쓰려고 나온것이다 - EJB는 실행되고 나서 DAO를 얹어서 쓴다 - EJB는 서버다 이거 대안으로 나온게 스프링임! - 원래는 다 나눠서 썼는데 스프링이 그걸 하나로 통합시켰다 - 원자성이 담보된다 - AOP (트랜젝션관리 방법론) https://youtu.be/Hm0w_9ngDpM - 고객은 코드를 요구하지 않는다 - AOP : 방법론 - 자기가 가짜면서 진짜를 흉내내는것 프록시(?) - aop를 만들때 프록시를 사용한다 - invoke는 실제 왕자님을 실행시켜줌 - 프록시는 필터랑 비슷한데 필터보다 범용성을 갖고 있다 package kr.co.rland.web.api.aop; ..
- 서버에는 두가지 컨트롤러가 존재 (레스트 / 페이지 백엔드기반) - 페이지를 만드는 기능은 프론트로 가야한다 - 단위테스트 통합테스트 모두 할줄 알아야 한다 - mybatis는 데이터를 영구 저장해주는 프레임워크다(+매퍼도 지원 / mapping정보를 통해서 DAO를 구성해줌) - 메모리는 휘발성이 있는 데이터다 - DAO인터페이스와 SQL을 연결해줌 - JPA는 데이터를 엑세스해주는 객체를 만들어주고 SQL 만들어줄 필요가 없음 - SQL은 DBMS에 종속된것 - ORM : 오브젝트(즉,엔티티)와 연결한 mapping 프론트 전에 짚고 가는, - 에러가 났을때 보여주지 않아도 되는 세부정보들까지 보여지니까 에러 화면을 따로 두던지 이러는게 좋음.. @ExceptionHand..
- 자식이 아니고 개별적 업데이트면 반복문 쓸필요 없다(반복문 바깥으로) - db에 파일 이름 뿐만 아니라 파일 경로까지 같이 넣어야 한다 file.transferTo(new File(realPath)); String fullPath = uploadPath + fileName; returnFiles.add(fullPath); //} //서비스한테 메뉴 얻어달라고 요청 Menu menu = service.get(id); menu.setImg(fullPath); service.update(menu); - 컴포넌트를 사용한다고하면, 속성을 통해 상태를 지정하고 있고 메서드를 통해 그 기능을 쓸수있으며 이벤트를 통해서 비동기적인 결과를 통지받을수 있는 결과를 쓴다 - 뷰는 템플릿화 되어있어야, 거기에 바인드 하..
- 시스템물리경로...(?) - 업로드 경로를 리얼패스 경로로 바꿔줘야 한다 - 디렉토리 알아서 만들어주는 애들 (마지막 경로에 해당되는 디렉토리(폴더)를 만들수 있다) pathFile.mkdir(); pathFile.mkdirs(); - 요 코드를 넣어주면 파일이 실제로 저장된다 file.transferTo(pathFile); - 윈도우즈는 경로를 "\\" 이렇게 표현한다 //존재하는데 디렉토리 만들어버리면 불필요하니까 조건처리 if(!pathFile.exists()) pathFile.mkdirs(); - value라는 어노테이션을 써서 파일을 읽어올수 있다 @Value("${upload.a}") private String uploadPath; - 이미지 url 경로 얻는 방법 return Paths...
- 아래는 통 문자열이다 let formData = {categoryId,korName,engName,price,description}; - 지금 배우고 있는건 메뉴 등록을 할때 화면 전환 없이 메뉴가 DB에 저장이 되어야 하는데 그게 객체로 전달이 되어야 함! 근데 워밍업으로 문자열이 저장이 되게끔 하는중이다 - newOne ={} ; 이건 객체 전달을 하기 위한 준비물 ! - 메뉴 등록을 하면 문자열로 통째로 온걸 확인 할 수 있다~ - 이 둘은 json을 인식하게 하기위한 설정? consumes = "apllication/json" (소비) produces = "application/json" (제작) - 키없이 통으로 문자열로 오게 하는걸 받아주는애 @RequestBody - 가장 최근 데이터를 ..