초급자를 위해 준비한
[웹 개발, 백엔드] 강의입니다.
스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다.
✍️
이런 걸
배워요!
예제를 만들면서 자연스럽게 스프링을 이해할 수 있습니다.
스프링을 어떻게 공부해야 하는지 예제를 만들면서 자연스럽게 배울 수 있습니다.
스프링으로 웹 애플리케이션을 만드는 방법을 배울 수 있습니다.
스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다.
???? 확인해주세요!
본 강의는 자바 스프링 완전 정복 시리즈의 첫 번째 강의입니다. 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 로드맵을 먼저 확인해주세요.
• 로드맵 링크: 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)
댓글 남기기