Spring

Spring/Spring_inflearn

[Spring 입문] JdbcTemplate

- 순수 Jdbc와 동일한 환경설정- Jdbc API에서 본 반복코드를 대부분 제거해준다.- SQL 은 직접 작성해야 한다.- MyBatis와 유사.  package hello.hellospring.repository;import hello.hellospring.domain.Member;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.core.RowMapper;import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;import o..

Spring/Spring_inflearn

[Spring 입문] 단위 테스트와 통합 테스트 맛보기

단위 테스트 - 순수 자바 코드로만 이루어진 테스트- 속도가 빠르다.  진짜 좋은 테스트는 순수 단위 테스트를 잘 만드는 것!통합 테스트를 해야 할 순간이 있지만 그러면 보통 테스트 설계가 잘못되는 것!package hello.hellospring.repository;import hello.hellospring.domain.Member;import org.junit.jupiter.api.AfterEach;import org.junit.jupiter.api.Assertions;import org.junit.jupiter.api.Test;import java.util.List;import static org.assertj.core.api.Assertions.assertThat;import static org..

Spring/Spring_inflearn

[Spring 입문] Spring DB 접근 기술 -- 순수 JDBC

dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2'}자바는 DB와 붙으려면 JDBC 드라이버가 꼭 필요하다!bundle.gradle 에 추가하자~ application.properties..

Spring/Spring_inflearn

[Spring 입문] Spring DB 접근 기술 -- H2 DB

스프링 DB 종류 및 변천사 1. H2 DataBase- 개발이나 테스트 용도로 가볍고 편리한 DB, 웹화면 제공 2. 순수 Jdbc- 20여년 전에 쓰였던 노가다성 DB 3. 스프링 JdbcTemplate- 순수 Jdbc에서 중복을 제거하고 보다 쓰기 편리하게 나온 템플릿 4. JPA- 개발자들이 직접 SQL 문을 작성하지 않아도 자동으로 작성해줌- 스프링만큼이나 오래된 기술 5. 스프링 데이터 JPA- JPA를 편리하게 쓸 수 있도록 감싼 기술  1. H2 DataBase- 개발이나 테스트 용도로 가볍고 편리한 DB, 웹화면 제공https://www.h2database.com/html/main.html 다운로드 받은 파일 압축 풀고 bin 폴더에서 터미널 켜서 설치chmod 755 h2.sh./h2...

Spring/Spring_inflearn

[Spring 입문] Form, Thymeleaf

1. Form public class Member { private Long id; // 시스템이 저장하는 id private String name; public Long getId() { return id; } public String getName() { return name; } public void setId(Long id) { this.id = id; } public void setName(String name) { this.name = name; }}public class MemberForm { private String name; public String getName() ..

Spring/Spring_inflearn

[Spring 입문] 스프링 빈 등록, 의존성 주입

스프링 빈 등록하는 2가지 방법- 실무에서는 주로 정형화된 컨트롤러, 서비스, 리포지토리 같은 코드는 컴포넌트 스캔을 사용한다.- 정형화되지 않거나, 상황에 따라 구현 클래스를 변경해야 하면 설정을 통해 스프링빈으로 등록한다.(DB가 정해지지 않았을 때 구현한 코드를 추후 DB가 정해졌을 때 소스코드 수정 없이 @Bean 에 등록된 생성자만 수정해서 교체할 수 있음)  1. 컴포넌트 스캔 + 자동 의존 관계 설정- @Repository, @Service, @Controller 애노테이션을 달고 @Autowired 하는 방법 2. 자바 코드로 직접 스프링 빈 등록- @Repository, @Service, @Autowired 애노테이션을 제거하고 진행- 최상단에 SpringConfig.java 클래스를 만..

Spring/Spring_inflearn

[Spring 입문] member Service

학원에서는 member, board 별로 패키지를 생성했는데, 여기선 이렇게 용도별로 패키지를 생성하는 부분이 흥미롭다.뭐가 더 나은지는 아직 모르겠다. 개발자 만의 스타일이 다른건지, 아니면 이런 방식이 좀더.. 요즘스러운 방식인지.   repository -- 좀더 개발자스러운 네이밍service -- 비즈니스 로직을 구현하기 때문에 비즈니스 스러운 네이밍. 테스트케이스를 작성할 때, 번거롭게 테스트 클래스를 만드는 것 보다클래스 이름 선택 + Command T 누르면 자동으로 생성됨.  package hello.hellospring.service;import hello.hellospring.domain.Member;import hello.hellospring.repository.MemberRepos..

Spring/Spring_inflearn

[Spring 입문] 테스트케이스

팀 단위로 막대한 양의 코드가 짜여져있는 상태에서 사실상 테스트코드 없이 일일이 돌려보는 것은 불가능.테스트 주도 개발 (TDD) 는 구현 메서드를 만들고 -> 테스트케이스 작성해서 돌려보는 것이 아니라!테스트케이스를 먼저 작성한 후 -> 해당 테스트 케이스를 통과할 수 있도록 구현 메서드를 만드는 것!  package hello.hellospring.repository;import hello.hellospring.domain.Member;import java.util.List;import java.util.Optional;public interface MemberRepository { Member save(Member member); Optional findById(Long id); O..

함s
'Spring' 카테고리의 글 목록