spring boot 에 대한 기본 설정을 spring.io에 만들어 준다.
주소맵핑 @controller @GetMapping
환경설정 @configuration
객체 주입 @bean
객체 불러오기 @autowired
=========================== (오늘 암기 해야 할것)
●port change
application.properies 에서 server.fort = 8081 이렇게 하면 포트가 8080에서 8081로 포트가 변경 된다.
http://localhost:8081 이렇게 적으면 -> index.htnl // 제일 기본 페이지
http://localhost:8081/regist -> regist.html
http://localhost:8081/list -> list.html
로 간다.
이렇게 @GetMapping을 해주면 이 주소로 html 에 갈 수있다.
project 파일 형식은 이런식이고 이렇게 하는거는 데이터베이스에 값을 저장하고 불러오는것이 아니라 이 파일 내에서 실행되는것이다.
●MemberContoller
package com.git.ex03.member;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import java.time.LocalDate;
@Controller
public class Membercontroller {
@Autowired
MemberServide memberServide;
@GetMapping("aa")
public String aa(Model model){
String a = "안녕하세요";
model.addAttribute("hi",a);
System.out.println(memberServide);
return "aa";
}
@GetMapping("regist")
public String regist(){
Member member = Member.builder()
.email("aaa@naver.com")
.password("1234")
.localDate(LocalDate.now())
.build();
memberServide.regist(member);
return "regist";
}
@GetMapping("list")
public String list(){
memberServide.list();
return "list";
}
}
●MemberService
package com.git.ex03.member;
import lombok.ToString;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Collection;
import java.util.List;
@ToString
public class MemberServide {
@Autowired
MemberRepository memberRepository;
public void regist(Member member){
memberRepository.insert(member);
}
public void list() {
Collection<Member> collection = memberRepository.select();
collection.stream().forEach(System.out::println);
}
}
●MemberRepository
package com.git.ex03.member;
import java.util.*;
public class MemberRepository {
Map<String,Member> map = new HashMap<>();
public void insert(Member member) {
map.put(member.getEmail(),member);
}
public Collection<Member> select() {
// Set<String> keys = map.keySet();
return map.values();
}
}
이순으로 작성을 한다.
●conf.MyConf
package com.git.ex03.conf;
import com.git.ex03.member.MemberRepository;
import com.git.ex03.member.MemberServide;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/*
* memberContoller
* memberService -> memberRepository
* member
* regist ->
* list ->
* */
@Configuration
public class MyConf {
@Bean
public MemberServide memberServide(){
return new MemberServide();
}
@Bean
public MemberRepository memberRepository(){
return new MemberRepository();
}
}
●Member
package com.git.ex03.member;
import lombok.*;
import java.time.LocalDate;
@Getter
@Setter
@AllArgsConstructor
@Builder
@ToString
@NoArgsConstructor
public class Member {
private int idx;
private String email;
private String password;
private LocalDate localDate;
}
●Main
package com.git.ex03;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Ex03Application {
public static void main(String[] args) {
SpringApplication.run(Ex03Application.class, args);
}
}
SpringApplication.run을 하게 되면 spring boot가 실행 된다 .
IOC 컨테이너에서 꺼내서 사용하는것이기 때문에 메모리 낭비가 적다.(속도가 빠르다.)
'spring boot' 카테고리의 다른 글
Spring boot 유효성 검사 / 복사 (0) | 2024.03.07 |
---|---|
Spring boot JPA(2), 포트 설정 (0) | 2024.03.06 |
spring boot JPA (1) | 2024.03.05 |
spring boot 복습 (0) | 2024.03.04 |
spring boot 입출력 2 (0) | 2024.02.27 |