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
객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. 그럼 DI(의존성 주입)를 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다. 스프링에서는 객체를 Bean이라고 부르며, 프로젝트가 실행될때 사용자가 Bean으로 관리하는 객체들의 생성과
객체를 통해 클래스의 정보를 분석해내는 자바 API이다. 자바의 Reflection은 클래스, 인터페이스, 메서드들을 찾을 수 있고, 객체를 생성하거나 변수를 변경할 수 있고, 메서드를 호출할 수 도 있다.
error: unmappable character (0xEC) for encoding x-windows-949Settings - File Encodings저 부분 다 UTF-8 로 바꾸고 Apply 누르고 OK인텔리제이 설치 경로의 bin 폴더로 가서 idea64.ex
일단 추상클래스나 인터페이스나 두 개의 공통점은 다른 클래스를 작성하는데 도움을 주는 목적으로 작성되었다.자바의 특성상 한개의 클래스만 상속이 가능하다. 클래스의 구분은 추상클래스 상속을 통해 클래스들이 공통으로 가지는 메서드와 필드가 많아 중복 멤버 통합으로 해결하고
인터페이스를 구현하는 클래스는 반드시 인터페이스에 선언된 모든 메서드를 구현해야 된다. init(), service(), destroy(), getServiceConfig(), getServiceInfo()를 모두 구현해야 한다. 빈 메서드라도 구현해야 한다. init