목록프로그래밍 (408)
쌓고 쌓다
build.gradle dependencies { ... implementation 'org.springframework.boot:spring-boot-starter-data-jpa' //추가 작성 implementation 'mysql:mysql-connector-java:8.0.29' // 추가 작성 ... } java뒤에 MySQL 버전을 적어주자 -> java: 안그러면 제대로 가져오지 못해 com.mysql.cj.jdbc.Driver에 빨간줄이 뜬다. application.properties spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/boar..
MySQL을 연결하려는데.. implementation 'mysql:mysql-connector-java' // 추가 작성 패키지를 읽을 수 없다고한다. Grandle에 의존성 또한 잘 가져오지 못한게 보인다. 해결방법 아래의 SQL을 사용하여 자신의 MySQL 버전을 확인한다. SELECT VERSION(); dependencies { implementation 'mysql:mysql-connector-java:8.0.29' } 의존성 설정시 java:으로 작성하자. 해결 완료
코드를 작성해보면 컨트롤러, 서비스, 리포지토리의 차이가 긴가민가하다. 컨트롤러: 웹 MVC의 컨트롤러 역할. 서비스의 제어를 담당하는 느낌 같다. (서비스를 이용해) 서비스: 핵심 비즈니스 로직 구현. 게시글을 작성하고 찾는 기능을 제공. (리포지토리를 이용해) 리포지토리: DB에 접근하여 도메인 객체를 DB에 저장하고 관리한다. 아직 차이가 긴가민가하다... 많이 경험해봐야할듯! HomeController @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } home.html home 페이지입니당~! 게시글 작성 게시글 보기 /poster/write : 게시글 작성 페이지 /..
방학을 맞아 스프링 부트로 게시판을 만들어볼까 한다! 새프로젝트를 생성하여 Initializr를 누른다. Group: 기본 패키지 명 Artifact: 프로젝트 명 Spring web, Spring wb Services, Thymeleaf를 선택. 아래의 경로에 helloController.java, main.html을 생성한다. helloController.java package com.example.board.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class helloController { @..
MemberController.java @Controller public class MemberController { @GetMapping("/members") public String list(Model model) { List members = memberService.findMembers(); model.addAttribute("members", members); return "members/memberList"; } } /members로 GET 요청이 오면 memberService에서 모든 회원들을 담은 List를 반환 받아 "members" 키로 members 리스트를 값으로 가지고 members/memberList.html로 이동. memberList.html ID 이름 타임리프 문법이 사용되..
MemberController도 만들고, 의존 관계도 설정했다. MemberController를 통해 멤버를 등록하고 조회하는 걸 만들어보자. 우선 controller에 HomeController를 만든다. package hello.hellospring.controller; @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } 도메인을 접속하면 매핑 URL을 따라 "/"를 통해 템플릿에 home.html을 가져온다. home.html 회원 가입 회원 목록 단순히 링크 두개만 작성했다. MemberController.java @Controller public class Member..
앞전 게시글에서 작성한 컴포넌트 스캔 방식도 있고 이번 게시글에서는 스프링에 직접 스프링 빈을 등록하는 방식을 보인다. SpringConfig package hello.hellospring; @Configuration public class SpringConfig { @Bean public MemberService memberService() { return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } } @Configuration 어노테이션을 사용한다. 스프링이 뜰 때 @Configuration을 읽고 스프링 빈에 ..
화면을 붙이려면 컨트롤러와 뷰 템플릿이 필요하다. 그러려면 멤버 컨트롤러가 필요하다. 이 멤버 컨트롤러는 멤버 서비스를 통해 회원가입하고. 멤버 서비스를 통해서 데이터를 조회한다. 이 관계를 의존 관계가 있다고 표현한다. ( 멤버 컨트롤러가 멤버 서비스를 의존한다. ) MemberController @Controller public class MemberController { } @Controller 어노테이션을 붙였다. 기능은 없지만 스프링 컨테이너라는 통에 MemberController라는 객체를 생성하여 넣어두고. 스프링이 관리한다. 앞서 작성한 예제 코드를 보자. 컨트롤러 어노테이션을 보고 스프링이 HelloController 객체를 생성하여 들고 있었다. helloController는 스프링 컨..