초급자를 위해 준비한
[웹 개발, 백엔드] 강의입니다.
스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다.
✍️
이런 걸
배워요!
예제를 만들면서 자연스럽게 스프링을 이해할 수 있습니다.
스프링을 어떻게 공부해야 하는지 예제를 만들면서 자연스럽게 배울 수 있습니다.
스프링으로 웹 애플리케이션을 만드는 방법을 배울 수 있습니다.
스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다.
???? 확인해주세요!
본 강의는 자바 스프링 완전 정복 시리즈의 첫 번째 강의입니다. 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 로드맵을 먼저 확인해주세요.
• 로드맵 링크: https://www.inflearn.com/roadmaps/373 (클릭하면 바로가기)
김영한의 스프링 입문
코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
소스 :
https://github.dev/braverokmc79/hello-spring
[5] 스프링 빈과 의존관계
16.컴포넌트 스캔과 자동 의존관계 설정
강의:
https://www.inflearn.com/course/스프링-입문-스프링부트/unit/49586?tab=curriculum
17.자바 코드로 직접 스프링 빈 등록하기
강의:
https://www.inflearn.com/course/스프링-입문-스프링부트/unit/49587?tab=curriculum
[6] 회원 관리 예제 - 웹 MVC 개발
18.회원 웹 기능 - 홈 화면 추가
강의:
https://www.inflearn.com/course/스프링-입문-스프링부트/unit/49589?tab=curriculum
package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HomeController { @RequestMapping("/") public String home(){ return "home"; } }
home.html
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Good Thymes Virtual Grocery</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div class="container"> <div> <h1>hello Spring</h1> <p>회원 기능</p> <p> <a href="/member/new">회원 가입</a> <a href="/members">회원 목록</a> </p> </div> </div> </body> </html>
19.회원 웹 기능 - 등록
강의:
https://www.inflearn.com/course/스프링-입문-스프링부트/unit/49590?tab=curriculum
MemberController
package hello.hellospring.controller; import hello.hellospring.domain.Member; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @Controller public class MemberController { @Autowired private MemberService memberService; @GetMapping("/members/new") public String createForm(){ return "members/createForm"; } @PostMapping("/members/new") public String create(MemberForm form){ Member member =new Member(); member.setName(form.getName()); System.out.println("member = " +member.getName());; memberService.join(member); return "redirect:/"; } }
MemberForm
package hello.hellospring.controller; public class MemberForm { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
member/create.form
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Good Thymes Virtual Grocery</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div class="container"> <div> <form action="/members/new" method="post"> <div class="form-group"> <label for="name">이름</label> <input type="text" id="name" name="name" placeholder="이름을 입력하세요"> </div> <button type="submit">등록</button> </form> </div> </div> </body> </html>
20.회원 웹 기능 - 조회
강의:
https://www.inflearn.com/course/스프링-입문-스프링부트/unit/49591?tab=curriculum
MemberController
@GetMapping("/members") public String list(Model model) { List<Member> members =memberService.findMembers(); model.addAttribute("members", members); return "members/memberList"; }
memberList.html
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Good Thymes Virtual Grocery</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div class="container"> <div> <table> <thead> <tr> <th>#</th> <th>이름</th> </tr> </thead> <tbody> <tr th:each="member : ${members}"> <td th:text="${member.id}"></td> <td th:text="${member.name}"></td> </tr> </tbody> </table> </div> </div> </body> </html>
댓글 ( 4)
댓글 남기기