김영한 jpa 강의를 따라 하다가 에러가 발생했다. 터미널에 ./gradlew clean build 입력하면 위와 같은 에러가 계속 발생했다. 찾아보니 나랑 비슷한 분이 계셨는데 환경 변수를 설정할 때 어떤 블로그를 같이 봤었는지 모르겠지만 JAVA_HOME 맨 끝에 bin 경로가 달려있었다. 저거 때문에 경로 불일치 문제가 발생한 것이다. 이거 지워서 C:\jdk-11로 저장하고 인텔리제이 새로 껐다가 다시 명령어 입력하면 성공적으로 마무리되는 걸 볼 수 있다. https://abcdefgh123123.tistory.com/325 [java spring boot] Please set the JAVA_HOME variable in your environment to match thelocation of ..
JSP(Java Server Page) 기존에는 서블릿을 이용해서 화면에 보여주는 html도 만들고 안에서 로직도 처리했는데 코드가 많이 복잡해지니깐 뷰 템플릿을 사용하기 시작했다.(대표적인 템플릿이 JSP, Thymeleaf) JSP는 HTML 코드 안에 자바 코드를 넣어서 동적 웹페이지를 생성하게 해주는 도구다. JSP가 실행되면 자바 서블릿(Servlet)으로 변환되어 필요한 기능을 수행하고 response에 담아서 was에 넘기는 것이다. 이렇게 보면 JSP와 서블릿은 되게 유사하지만 큰 특징이 하나 있다. JSP - HTML 코드 내부에 자바 코드를 넣어 동적으로 웹페이지를 생성. 서블릿 - 자바 코드 내에서 HTML 생성. 간단하게 코드로 비교해보자. 서블릿 코드 @WebServlet(name..
서블릿 동적 웹페이지(Dynamic Web Page)를 만들 때 사용되는 자바 기반의 웹 어플리케이션 프로그래밍 기술이다. 클라이언트가 서버로 요청을 보낼 때 다양한 요청과 응답을 주고 받는데, 이 요청과 응답에는 규칙이 존재한다. 이걸 개발자가 일일이 처리하려면 굉장히 귀찮기 마련인데, 서블릿은 이러한 웹 요청과 응답의 흐름을 간단하게 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 기술이다. 우선 톰캣 내장서버를 활용하기 위해 스프링 부트로 설명하겠습니다. 스프링부트가 내장 톰캣 서버를생성하고, 톰캣 서버는 서블릿 컨테이너 안에 해당 서블릿을 생성하게 됩니다. 톰캣 서버가 서블릿을 생성하는 방법은 @ServletComponentScan 어노테이션을 이용해서 만듭니다. @ServletComponent..
조회 대상 빈이 2개 이상일 때 해결 방법은 총 3가지가 있다. 1. @Autowired 필드 명 매칭 2. @Qualifier 3. @Primary 이 글에서는 2, 3번에 대한 방법을 소개한다. @Qualifier 추가 구분자를 붙여주는 방식이다. 빈 이름을 변경하는 것이 아니다!! 우선 컴포넌트로 등록하는 클래스에 @Qualifier("지정할 이름") 으로 명시해준다. @Component @Qualifier("main") public class FixDiscountPolicy implements DiscountPolicy{ private int discountFixAmount = 1000; // 1000원 할인 고정 @Override public int discount(Member member, i..