작업 환경을 부트스트랩 설정하는 쉬운 방법은 start.spring.io를 통해 Spring 기반 프로젝트를 생성하거나 Spring Tools에서 Spring 프로젝트를 생성하는 것입니다.
GitHub spring-data-examples 리포지토리에는 라이브러리 작동 방식을 파악하기 위해 다운로드하고 사용해 볼 수 있는 몇 가지 예제가 있습니다.
간단한 엔터티와 해당 저장소부터 시작해 보겠습니다.
@Entity
class Person {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
// getters and setters omitted for brevity
}
interface PersonRepository extends Repository<Person, Long> {
Person save(Person person);
Optional<Person> findById(long id);
}
다음 예제와 같이 실행할 기본 애플리케이션을 만듭니다.
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean
CommandLineRunner runner(PersonRepository repository) {
return args -> {
Person person = new Person();
person.setName("John");
repository.save(person);
Person saved = repository.findById(person.getId()).orElseThrow(NoSuchElementException::new);
};
}
}
이 간단한 예에서도 지적해야 할 몇 가지 주목할만한 사항이 있습니다.
리포지토리 인스턴스가 자동으로 구현됩니다. @Bean
메소드의 매개변수로 사용되면 추가 주석이 필요 없이 자동으로 연결됩니다.
기본 저장소는 Repository
를 확장합니다. 애플리케이션에 노출하려는 API 표면의 양을 고려하는 것이 좋습니다. 더 복잡한 저장소 인터페이스는 ListCrudRepository
또는 JpaRepository
입니다.