본문 바로가기

728x90

백엔드

[Spring Boot] Spring JDBC /* Spring JDBC */ Spring JDBC를 이용해 Java 언어로 데이터베이스와 연동해 쿼리를 실행시킬 수 있다. 일단 테이블을 만들어야 하므로 resource 폴더에 schema.sql 이라는 파일을 만들고 다음과 같이 쿼리를 작성했다. CREATE TABLE course ( id bigint not null, name varchar(255) not null, author varchar(255) not null, primary key(id) ); SPRING JDBC 의존성을 추가했으므로 스프링부트 실행 시에 이 쿼리도 실행이 될것이다. 그리고 Course라는 객체를 다음과 같이 만들자 @Getter @Setter public class Course { private Long id; pri.. 더보기
[Spring Boot] @ConfigurationProperties /* 사용하는 이유*/ application.properties 나 application.yml에 있는 외부 설정 정보를 가져오기 위한 기능을 제공한다. 이는 RestAPI를 만들 때에도 용이하다. /* application.properties 설정*/ application.properties에 외부 설정 정보를 다음과 같이 설정했다고 하자. 우리는 이 내용들을 자바 클래스 안에서 다루고 싶다. 그러면 다음과 같이 설정을 하자 /* ConfigurationProperties 설정*/ 어노테이션 @ConfigurationProperties를 이용해 application.properties를 참고하고 prefix를 이용해 어느 정보를 얻고싶은지 알려야 한다. 그리고 이 외부정보들을 Spring IOC Con.. 더보기
[Spring Boot] 컴포넌트와 빈 차이 (Component vs Bean) Udemy에서 들은 내용을 바탕으로 합니다 @Component 와 @Bean 은 둘다 스프링에 빈을 등록해준다. 그렇다면 언제 @Component를 쓰면 좋고, 언제 @Bean을 쓰면 좋을까? @Component @Bean 사용 방법 자바 클래스 안에 사용된다 Configuration 클래스안에서 사용 편리성 어노테이션만 추가하면 된다 빈 객체에 필요한 정보를 모두 써야한다 Autowired 방법 필드, 생성, Setter 주입 Method Call 아니면 Method Parameter 빈 등록 스프링 프레임워크가 직접 빈 등록 우리가 빈 등록 코드를 작성 해야함 언제? 우리가 만든 애플리케이션 코드에 대해 빈 등록이 필요할때 1. 비즈니스 로직 2. 서드파티 라이브러리에 대한 빈을 등록할때 더보기
[Spring Boot] 스프링 빈 (Spring Bean) & 스프링 컨테이너 (Spring Container) Udemy 스프링부트 강좌로 학습한 내용을 바탕으로 합니다. 스프링 컨테이너를 배우기 전에 스프링빈 (Spring Bean) 이랑 자바객체 에 대해 알아보자 /* 자바 객체*/ 아래의 간단한 자바 코드들을 한번 보자 public interface GamingConsole{ void up(); } //인터페이스 public class MarioGame implements GamingConsole { @Override public void up() { System.out.println("Mario UP") } } //GamingConsole 상속 public class PacmanGame implements GamingConsole{ @Override public void up(){ System.out.pr.. 더보기
[Spring Boot] JPARepository 페이징 처리 및 Thymealeaf 호출 (+querydsl) JPArepository 페이징이랑 데이터베이스의 기록리스트를 불러오고, 개수로 나눠서 페이지를 구분하는 것을 의미합니다. Repository에서 extends JPARepository를 한다면 다음과 같이 페이징 처리가 가능합니다 Page findByName(String name, Pageable pageable); Service에서 findByName을 호출해 보겠습니다. Page productPage = productRepository.findByName("펜",PageRequest.of(0,2)); PageRequest.of(0,2)를 살펴보겠습니다. 0 -> 페이지 번호 2 -> 페이지당 데이터 개수로 0번째 페이지(첫 페이지)에서 "펜"이라는 이름을 가진 Product 2개를 불러오는 방식입니.. 더보기

728x90