목록백엔드 기술 정리 (28)
-
스프링부트 내부에는 yml파일이라는 것이 존재합니다. 이 yml파일을 어떻게 쓰는지 하나하나 구체적인 설명보다는 추상적으로 한 번 이해해봅시다. 직접 살펴보겠습니다. yml파일은 이렇게 프로젝트 파일 내부의 resources폴더 내부에 위치하고 있습니다. 이 파일의 세부 설정을 통해 프로젝트의 기본적인 설정을 할 수 있습니다. 예를들어 '자신이 타이어를 만드는 기술자' 라고 해봅시다. 그럼 이 타이어를 만들 때 고려할 것이 정말 많을 것입니다. 공장의 직원들의 일 분배나, 타이어 제조하는 기계의 위치나, 어떻게 건조할건지, 어디에 납품할 것인지 등등 세부적으로 모두 설계가 완료된 시점에서부터 공장을 가동하기 시작하듯이 프로젝트 또한 기초적인 설정을 마친 뒤 프로젝트 개발이 시작됩니다. yml파일은 바로 ..
지난 포스팅에서 했던건 입력한 데이터를 메모리에 저장했다가 서버가 재가동되면 회원 데이터가 모두 사라지게 되므로 실무에선 이를 막기위해 DB에 데이터를 저장하고 관리합니다. 그래서 아주 간단한 DB인 H2를 한 번 사용해보도록 하겠습니다. 수십년전에는 직접 JDBC에 데이터를 넣고 관리했어야 했는데 그땐 중복이 될 때도 많고 코드를 하나하나 입력하기 상당히 어려웠습니다. 그러나 이후 SQL이 등장하여 중복에 대한 것들을 비교적 쉽게 막을 수 있었고 요즘은 더 나아가서 JPA가 등장하여 삭제, 조회, 등록 등의 쿼리를 직접 다루는 기술이 등장하게 됩니다. JPA라는 기술을 쓰면 객체를 쿼리 없이 DB에 저장하고 관리할 수 있습니다. JPA도 스프링만큼 상당히 오래된 기술이지만 스프링에서 JPA를 굉장히 편..
지난번 회원 가입 포스팅에 이어서 회원 조회도 바로 만들어 보겠습니다. 회원 조회를 어떻게 구현하면 좋을까요? 일단 회원 목록을 홈페이지에서 눌렀을 때 회원들이 모두 다 뜨게 만들면 좋지 않을까요? 이전에 home.html에서 회원가입과 더불어서 회원 목록을 클릭했을 경우 /members로 이동하게끔 세팅했었습니다. 따라서 이번에도 MemberController에 회원 목록 로직을 한 번 짜보도록 하겠습니다. 그리고 나서 Ctrl + Alt + V를 눌러 변수를 뽑아옵니다. 이게 예전에 만든 findMembers()메서드인데요. return할 때 memberRepository.findAll()이라고 했으니 이 메서드를 실행하면 결과적으로 모든 회원들을 불러옵니다. 이때 불러온 members들을 List타..
저번 포스팅에선 Controller도 만들고 DI를 통해 의존성 주입도 했었습니다. 이제 이 MemberController를 통해 회원을 등록하고 조회하는걸 한 번 만들어보려고 합니다. 먼저 홈 화면을 추가를 할 것입니다. 이 Home 화면도 Controller로 만들기 위해 Controller어노테이션을 위에 추가해줍니다. 그리고 GetMapping을 쓸 것입니다. 이 @GetMapping은 데이터를 받아온다고 지난번에 설명했습니다. 그러니까 home()이라는 메서드를 실행할것인데, 이 home을 실행하면 "home"을 리턴해주고 이 때 주소를 /라고 입력하게 되면 기본 8080주소가 home화면입니다. 당연하겠죠? 메인 화면이 home화면이니까 다른 주소값이 아닌 제일 기본이 되는 주소가 home이니..
이전에 해본건 @Service, @Repository, @Autowired 등을 사용해서 컴포넌트 스캔으로 자동 등록하고 사용했었는데 이걸 수동으로 스프링 빈에 등록하는걸 아는 것이 좋아서 기록을 하게 되었습니다. 어노테이션을 사용하면 정말 편리하겠지만 그러지 못한 상황이 발생했을 때의 경우를 대비해서 우리는 직접 등록해야 합니다. 결국 2가지 모두 다 알고 있어야겠습니다. MemberService 클래스에서 @Autowired를 제거해줍니다. 그리고 MemoryMemberRepository에서도 @Repository를 지웁니다. 단, MemberController는 그대로 어노테이션을 유지합니다. 이대로 실행을 하면 당연히 MemberService가 등록이 안되어 있는데 우리가 MemberControl..
이번엔 스프링 빈을 직접 등록해보고 의존관계를 설정해볼 것입니다. 지난번엔 MemberService랑 MemberRepository를 만들고 서비스를 통해 회원을 가입할 수 있고 Repository에 저장이 되고 거기서 꺼내올 수 있는 로직을 만들었습니다. 또한 그것을 테스트하는 장치도 한 번 만들어 봤습니다. 그래서 이번엔, 화면에 어떻게 하면 이 데이터들을 출력하고 표기할 수 있을지, 제일 처음 배웠던 MVC 기억나시죠? 모델이랑 컨트롤러랑 View - Template이 필요합니다. 따라서 회원가입을 하고 회원 가입된 결과를 시스템에 뿌려주어야 합니다. 이를 위해서는 MemberController가 필요합니다. 이 MemberController가 MemberService를 통해서 회원가입하고 이를 통..