JVM (Java Virtual Machine) 한번 컴파일 된 자바 프로그램을 모든 OS에서 구동할 수 있게 해주는 역할을 함. 자바 바이트코드를 실행할 수 있는 주체 JRE (Java Runtime Environment) 자바 프로그램을 실행만 하기 위한 라이브러
패키지는 소문자로!클래스 앞글자는 대문자로!이클립스에서 한줄지우기 Ctrl+D
Tomcat의 기본 포트 8080이 이미 사용중이랜다.쓰고 있는 포트를 바꿔도 되고, 포트를 사용하고 있는 pid를 확인해서 삭제해주면 된다.관리자 권한으로 cmd창을 열어서8080 포트가 지워진지 확인해주기이제 8080 포트를 사용할 수 있게 되었다.
JPA 구현체들은 연관된 객체들 처음부터 데이터베이스에서 조회하는 것이 아니라 실제 사용하는 시점에 데이터베이스에서 조회할 수 있다. 이게 프록시이다. 프록시 클래스는 실제 클래스를 상속 받아서 만들어져 실제 클래스와 겉 모양이 같다. 프록시를 사용하면 연관된 객체
테이블들 간 연관관계를 설정해 줄 때 일대다(1:N) 관계일 때 @JoinColumn 어노테이션을 사용해서 해당 칼럼의 이름을 설정해 줍니다.
https://www.jetbrains.com/idea/
https://www.jetbrains.com/idea/
테스트 코드를 짜다 보면 같은 로직의 테스트가 늘어난다.JUnit에는 이렇게 여러 개의 테스트를 한번에 작성하기 위한 @ParameterizedTest 라는 어노테이션을 제공한다. 기본적인 사용 방법은 @Test 대신 @ParameterizedTest 라는 이 anno
쓰레드란 프로그램 실행의 가장 작은 단위이다. 일반적으로 자바 애플리케이션을 만들어 실행하면 1개의 메인(main) 쓰레드에 의해 프로그램이 실행된다. 하지만 1개의 쓰레드 만으로는 동시에 여러 작업을 할 수 없어서 별도의 쓰레드를 만들어 실행시켜줘야 하는데, 자바는
일급 컬렉션은 Collection을 Wrapping 하면서, 그 외 다른 멤버 변수가 없는 상태를 말한다.일급 컬렉션을 사용하면 상태과 로직을 따로 관리할 수 있기 때문에 로직이 사용되는 클래스의 부담을 줄일 수 있고, 중복코드를 줄일 수 있다.
Preferences(Ctrl+Alt+S) > Build, Execution, Deployment > Build Tools > Gradle > Build And Run Using: IntelliJ IDEA 적용Project Structure(Ctrl+Alt+Shift+
인터페이스를 구현하는 클래스는 반드시 인터페이스에 선언된 모든 메서드를 구현해야 된다. init(), service(), destroy(), getServiceConfig(), getServiceInfo()를 모두 구현해야 한다. 빈 메서드라도 구현해야 한다. init
일단 추상클래스나 인터페이스나 두 개의 공통점은 다른 클래스를 작성하는데 도움을 주는 목적으로 작성되었다.자바의 특성상 한개의 클래스만 상속이 가능하다. 클래스의 구분은 추상클래스 상속을 통해 클래스들이 공통으로 가지는 메서드와 필드가 많아 중복 멤버 통합으로 해결하고
error: unmappable character (0xEC) for encoding x-windows-949Settings - File Encodings저 부분 다 UTF-8 로 바꾸고 Apply 누르고 OK인텔리제이 설치 경로의 bin 폴더로 가서 idea64.ex
객체를 통해 클래스의 정보를 분석해내는 자바 API이다. 자바의 Reflection은 클래스, 인터페이스, 메서드들을 찾을 수 있고, 객체를 생성하거나 변수를 변경할 수 있고, 메서드를 호출할 수 도 있다.
oracle openjdk 17 사용JAVA_HOME은 jdk가 설치된 경로이다. 설치 경로를 시스템 변수에 설정을 하면 현재 사용자 뿐 아니라 다른 사용자 계정으로도 해당 변수를 사용할 수 있다. 또한, 다른 프로그램에서 JAVA_HOME 환경 변수를 이용해 jdk의
@Id : 기본 키 직접 생성 기본키(PK)를 지정한다. @Id 어노테이션 적용 가능한 타입은 기본형(int, long 등), 기본 래퍼형(Integer, Long 등), String, java.util.Date, java.sql.Date, java.math.BigDe
@Column(nullable = false)nullable = true 는 기본값이기 때문에 생략 가능하다.@Column 애노테이션은 아무 옵션이 없을 땐 생략해도 된다.@Entity 가 붙은 클래스에 있는 모든 필드는 @Transient 같은 설정을 따로 해주지 않
@Autowired 로 필드 주입 해주어도 되지만 @DataJpaTest 애노테이션을 붙여주면 생성자의 파라미터에서 필드 주입이 가능하다.
REST API 를 구현하다보면 DTO 를 통해서 값을 전달받은 후, Entity 에 해당하는 value 로 변환하여 필요한 서비스와 로직을 처리해준 후, 다시 DTO 를 통해서 값을 반환해주는 순서로 많이 구현한다.생성자 기법과는 별도로 생성만을 담당하는 클래스 메소