jpa 가 기본적으로 제공해주는 crud 와 쿼리 메서드 기능을 사용하더라도, 원하는 조건의 데이터를 수집하기 위해서는 필연적으로 jpql 을 작성하게 된다. 간단한 로직을 작성하는데는 큰 문제가 없다. 하지만 복잡한 로직의 경우엔 쿼리 열이 상당히 길어지고 jpql
실제 객체와 비슷하지만 Controller 테스트에 필요한 기능만 가지는 가짜 객체를 만들어서 애플리케이션 배포하지 않아도 스프링 MVC 패턴 및 동작을 테스트 할 수 있는 클래스이다.요청을 전송하는 역할을 한다.결과로 ResultActions 객체를 받으며, Resu
JSP 환경에서 현재 작업중인 페이지에서 다른 페이지로 이동하는 페이지 전환 기능에 두가지 방식이 있다.(URL 변화 X , 객체 재사용 O)forward 방식은 이동한 URL 로 요청 정보를 그대로 전달한다. 말 그대로 forward(건네주기) 하는 것이다. 그렇기
이미 열려 있는 포트를 다른 프로세스에서 또 열려고 하면 포트 번호 중복 오류가 발생한다. (intellij community 사용중)Web server failed to start. Port 8080 was already in use.8080 포트 번호는 이미 사용
인텔리제이 ultimate 버전을 30일 무료 체험판으로 갖고있는 이메일들로 연명해왔었다..... 돌고돌아 다시 무료버전인 community Editiond 을 설치했다..
feature 를 따서 작업을 하고 main branch 에 merge 하는 과정에서 한 파일에서의 수정한 부분들이 충돌이 발생했다.conflicts 편집기를 사용해서 this branch has conflicts that must be resolved 해결할 수 있다
@RequiredArgsConstructor 를 사용한 예시@RequiredArgsConstructor 를 사용하지 않고 생성자 주입 코드를 모두 작성한 경우의 예시보통 DI(의존성 주입)을 방식에는 필드 주입(Field Injection), 수정자 주입(Setter
localhost:8080 으로 접속을 해보면 두가지 디버그가 발생하고 게시판 페이지가 출력되지 않는다.Whitelabel Error Page 에러가 발생한다.localhost:8080 으로 스프링 구동 시 처음에는 무조건 index.html 을 찾게 설정이 되어있기
Mockito의 any() 메서드(Argument Matcher)를 이용하면 모든 매개 변수에 대하여 같은 행동을 하는 Mock 객체를 만들 수 있다. 주의할 점은 matchers를 사용하게 되면 모든 argument에 다 쓰던지 아니면 안쓰던지 해야지
REST API 를 구현하다보면 DTO 를 통해서 값을 전달받은 후, Entity 에 해당하는 value 로 변환하여 필요한 서비스와 로직을 처리해준 후, 다시 DTO 를 통해서 값을 반환해주는 순서로 많이 구현한다.생성자 기법과는 별도로 생성만을 담당하는 클래스 메소
테스트 코드 작성 중 아래와 같은 에러 발생Unable to find a @SpringBootConfiguration, you need to use @Contextfiguration or @SpringBootTest(classes=...) with your test이
spring data jpa 와 querydsl 을 같이 쓰는 경우 에러가 발생한 에러이다. build.gradle 파일 dependencies 에 에러 방지를 위한 아래 두 줄을 추가해주면 된다.스프링 부트의 3.0 버전으로 올라가면서 QueryDsl 패키지의 설정방
@Autowired 로 필드 주입 해주어도 되지만 @DataJpaTest 애노테이션을 붙여주면 생성자의 파라미터에서 필드 주입이 가능하다.
@Column(nullable = false)nullable = true 는 기본값이기 때문에 생략 가능하다.@Column 애노테이션은 아무 옵션이 없을 땐 생략해도 된다.@Entity 가 붙은 클래스에 있는 모든 필드는 @Transient 같은 설정을 따로 해주지 않
@Id : 기본 키 직접 생성 기본키(PK)를 지정한다. @Id 어노테이션 적용 가능한 타입은 기본형(int, long 등), 기본 래퍼형(Integer, Long 등), String, java.util.Date, java.sql.Date, java.math.BigDe
gitignore 파일 생성 사이트이다.https://www.toptal.com/developers/gitignore/원하는 파일들을 키워드로 입력해 룰에 추가할 수 있다.언어는 자바이고 빌드 도구는 Gradle, IDE는 Intellij, 운영체제는 Wind
Settings (Ctrl + Alt + S) 을 켜고plugins 탭에서 다운로드 할 플러그인을 검색한다.지금 난 JPA Buddy 를 설치하려고 한다. Install 을 누르면 로딩되면서 설치가 완료되고 'Restart IDE' 를 추천하니까 재시작 해주겠다.추천
oracle openjdk 17 사용JAVA_HOME은 jdk가 설치된 경로이다. 설치 경로를 시스템 변수에 설정을 하면 현재 사용자 뿐 아니라 다른 사용자 계정으로도 해당 변수를 사용할 수 있다. 또한, 다른 프로그램에서 JAVA_HOME 환경 변수를 이용해 jdk의
: API(Application Programming Interface, 응용 프로그래밍 인터페이스)는 하나의 응용 프로그램이 다른 응용 프로그램에 서비스를 요청하는 방식이다. 개발자는 API를 통해 이미 존재하는 응용 프로그램 기능을 다시 빌드하지 않아도 된다. AP
Git GUI 도구이다. GitHub 나 Bitbucket나 GitLab 회사에서 따로 구입해서 사용하는 설치형 github enterprise 같은 여러가지 서드파티 서비스들과 연동이 잘 되어있다. Git Kraken 에서 Github 의 Issues 나 Pull