본문 바로가기
spring boot

Spring boot(수업중 내용 입출력)

by improve 2024. 2. 26.

 

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