220525_spring_TIL

Today Jeeho Learned·2022년 5월 26일
0

Spring

목록 보기
2/31
  • 상속
    클래스의 상속이라는 개념이다. "이미 만들어둔거 가져다 쓰자!" 라고 선언하는 것
class Person {
	private String name;
	private String getName() {
		return this.name;
	}
}

class Tutor extends Person {
	private String address;
	// Person 클래스를 상속했기 때문에,
	// name 멤버변수와 getName() 메소드를 가지고 있습니다.
}

클래스 tutor에서 name하고 getname()을 바로 사용할 수 있다.

  • Annotation
    이런 역할이 있어~ 라고 알려주는 것

  • abstract
    직접구현 안된다! 상속으로만 된다!

  • CRUD 배우기 (CREATE , READ)
    먼저 repository의 save 와 findAll 등을 이용해보자
    repository는 SQL하는 애라고
// 데이터 저장하기
repository.save(new Course("프론트엔드의 꽃, 리액트", "임민영"));

// 데이터 전부 조회하기
List<Course> courseList = repository.findAll();
for (int i=0; i<courseList.size(); i++) {
    Course course = courseList.get(i);
    System.out.println(course.getId());
    System.out.println(course.getTitle());
    System.out.println(course.getTutor());
}

// 데이터 하나 조회하기
// ID를 통해서 찾을 것이기 때문에 findbyId(1L)
//아이디의값인데 Long인 아이디1개를 넣었기 때문에 1L을 넣어줌 또한 없을 경우에 어떻게 실행되는지 써줘야 한다.

Course course = repository.findById(1L).orElseThrow(
        () -> new IllegalArgumentException("해당 아이디가 존재하지 않습니다.")
);
  • Sevice란뭘까 ?

    스프링의 구조는 3가지 영역으로 나눌 있다.
    1. Controller : 가장 바깥 부분, 요청/응답을 처리함 (자동응답기)
    → 조금이따배울 애
    2. Service : 중간 부분, 실제 중요한 작동이 많이 일어나는 부분
    → 지금 배울 녀석
    3. Repo : 가장 안쪽 부분, DB와 맞닿아 있음. (SQL)
    → 여태 배운 녀석 (Repository, Entity)

  • DELETE 한줄로 가능

    courseRepository.deleteAll();

  • LomBok
    : 자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메소드/ 생성자 등을 자동생성해주면서 코드를 절약할수있도록 도와주는 라이브러리이다!

이렇게 설정을하고

Course 클래스에서 get id, title, tutor 부분을 모두 지웠다. 그렇게 하니까 메인 application에서 빨간줄이 났는데, course 클래스에서 쉽게 @getter을 작성하니까 오류가 살아진다. getter 코드를 작성하지 않았지만 lombok이 작성해줘서 가져가 쓸수있게 되었다.

기본 생성자를 만들어주지 않았지만, 밑에 롬복을 통해서 작성이 가능하다.

@NoArgsConstructor // 기본생성자를 대신 생성해줍니다.

>    // 생성자를 통해, Service 클래스를 만들 때 꼭 Repository를 넣어주도록
    // 스프링에게 알려줌
    public CourseService(CourseRepository courseRepository) {
        this.courseRepository = courseRepository;
    }

이부분을 좀 줄여보고자한다!

profile
기록해야 (살아)남는다 !

0개의 댓글