Spring Framework 55

프로젝트 배포하기

- 배포 파일 만들어내기 빌드 : 지금까지 만든 프로젝트를 하나의 파일로 묶는 것 묶으면 jar 파일이 나오는데, jar 파일을 AWS에 올릴 것임 Gradle - 프로젝트 - build - build 순서대로 누르면 빌드를 시작하고 jar 파일이 생김 프로젝트 폴더 - build - libs 순서대로 가보면 jar 파일이 있을 것임 만든 AWS 서버에 jar 파일을 올려줌 AWS 접속 ssh -i keypair파일경로 ubuntu@IP주소 # ssh -i /e/AWS_keypair/nao_keypair.pem ubuntu@3.35.53.11 Git Bash에서 jar 파일 실행 java -jar 파일이름.jar 성공..!

Spring Framework 2021.08.04

나만의셀렉샵) 최저가 변경 API 완성하기

* 최저가를 변경하는 API 완성하기 힌트) - basic.js > setMyprice 완성 - ProductRestController.java > @PutMapping, ProductMypriceRequestDto 활용하기 /*basic.js*/ function setMyprice() { /** * 숙제! myprice 값 설정하기. */ //1. id가 myprice 인 input 태그에서 값을 가져온다. let myprice = $("#myprice").val(); //2. 만약 값을 입력하지 않았으면 alert를 띄우고 중단한다. if(myprice == "") { alert("가격을 설정하지 않았습니다."); return ; } //3. PUT /api/product/${targetId} 에 d..

Spring Framework 2021.08.02

나만의셀렉샵) 스케줄러 만들기

- 스케줄러 정해진 시간마다 지정된 로직을 자동으로 실행하게 하는것 매 시간마다 관심 상품 목록 제목으로 검색해서, 최저가 정보를 업데이트하는 스케줄러 만들기 /*Scheduler.java*/ package com.sparta.week04.utils; ... @RequiredArgsConstructor // final 멤버 변수를 자동으로 생성합니다. @Component // 스프링이 필요 시 자동으로 생성하는 클래스 목록에 추가합니다. public class Scheduler { private final ProductRepository productRepository; private final ProductService productService; private final NaverShopSearch ..

Spring Framework 2021.08.02

나만의셀렉샵) 관심 상품 보여주기

- $(document).ready 함수의 의미 페이지가 모두 로드된 직후 실행할 자바스크립트 코드를 넣는 곳 컴파일러가 index.html을 위에서 아래로 순서대로 해석을 하는데 js 파일이 index 파일에서 위쪽에 적혀있어도 index 파일을 파일 끝까지 모두 다 해석한 뒤 js 파일의 $(document),ready 부분을 해석함 (일단 접속하면 관심 상품을 보여주어야 하기 때문에 showProduct 함수를 호출하고 있음) - showProduct 만들기 function showProduct() { /** * 관심상품 목록: #product-container * 검색결과 목록: #search-result-box * 관심상품 HTML 만드는 함수: addProductItem */ // 1. GET..

Spring Framework 2021.08.01

나만의셀렉샵) 관심 상품 등록하기

주의!!) 파라미터를 받을 때 파라미터가 JSON 형태면 JS가 알아서 JSON으로 변환함!!! 참고로 파라미터 itemDto는 stringify함수를 거친 결과인 문자열임 function addProduct(itemDto) { /** * modal 뜨게 하는 법: $('#container').addClass('active'); * data를 ajax로 전달할 때는 두 가지가 매우 중요 * 1. contentType: "application/json", * 2. data: JSON.stringify(itemDto), */ /** 주의!!) 파라미터를 받을 때 파라미터가 JSON 형태면 JS가 알아서 JSON으로 변환함!!! * 참고로 파라미터 itemDto는 stringify함수를 거친 결과인 문자열임 ..

Spring Framework 2021.08.01

나만의셀렉샵) 상품 검색 기능 만들기

- execSearch 함수 function execSearch() { /** * 검색어 input id: query * 검색결과 목록: #search-result-box * 검색결과 HTML 만드는 함수: addHTML */ $("#search-result-box").empty(); //기존에 입력되어있던 것들을 지움 // 1. 검색창의 입력값을 가져온다. let query = $("#query").val(); // 2. 검색창 입력값을 검사하고, 입력하지 않았을 경우 focus. if(query == "") { alert("검색어를 입력하세요."); $("#query").focus(); } // 3. GET /api/search?query=${query} 요청 $.ajax({ type: "GET", ..

Spring Framework 2021.07.29

나만의셀렉샵) HTML, 이미지 파일 준비하기

- 파일 분리 코드가 지나치게 길어지는 것을 방지하고 가독성을 높이기 위해 html에 몰아서 썼던 Javascript나 CSS를 분리함 - src > main > resources > static > index.html Select Shop 모아보기 탐색하기 Apple 아이폰 11 128GB [자급제] 919,990원 최저가 Apple 아이맥 27형 2020년형 (MXWT2KH/A) 2,289,780 원 X ⏰최저가 설정하기 최저가를 설정해두면 선택하신 상품의 최저가가 떴을 때 표시해드려요! 원 설정하기 - src > main > resources > static > js > basic.js let targetId; $(document).ready(function () { // id 가 query 인 녀..

Spring Framework 2021.07.28

나만의셀렉샵) 키워드로 상품 검색하기 - 네이버 API와 서비스 연결하기

요구조건 살펴보기) 사용자가 검색어를 입력하면, 컨트롤러가 그것을 전달받습니다. 전달받은 검색어로 네이버 API에 요청하고, 그 결과를 사용자에게 응답합니다. NaverShopSearch를 컴포넌트로 등록을 해야 함 컴포넌트 등록: 스프링한테 필요할 때 알아서 쓰라는 권한을 주는 것 final 변수 선언 & @RequiredArgsConstructor 어노테이션 등록 스프링이 권한 판단을 요구할 때가 있음(자동으로 생성할 수 있는건지 아닌지) 사용자가 요구하면 자동으로 생성 가능한 클래스 목록이 있어야 스프링이 자동으로 필요한 클래스를 필요한 곳에 생성한다 - 컴포넌트 : 사용자가 요구하면 자동으로 생성 가능한 클래스 목록 - NaverShopSearch 컴포넌트 등록 이전에 만들어 둔 NaverShop..

Spring Framework 2021.07.28

JSONObject, JSONArray

https://androman.tistory.com/38 [Java] JsonObject , JsonArray 다루기 (JsonParser로 파싱하기) 데이터를 주고 받을 때 json형식을 많이 사용하는 JsonObject, JsonArray 사용법을 알아보겠습니다. 1. JsonObject JsonObject는 객체(주로 String)을 Json객체로 바꿔주거나 Json객체를 새로 만드는 역할을 합니.. androman.tistory.com 1. JSONObject 객체(주로 String)을 JSON으로 바꿔주거나 JSON 객체를 새로 만드는 역할 org.json public class JSONObject extends Object [JSON 직접 생성] JSONObject jsonObject = ne..

Spring Framework 2021.07.27