본문 바로가기
spring

spring 으로 게시판

by improve 2024. 2. 23.

우선 패키지는 이렇게 되어 있습니다.

●Main

package org.example;

import org.example.Member.MemberDto;
import org.example.Member.MemberService;
import org.example.conf.MyConf;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {
    private static AnnotationConfigApplicationContext acac = null;

    public static void main(String[] args) {
        acac = new AnnotationConfigApplicationContext(MyConf.class);
        processNewCommand();
        processListCommand();
    }

    private static void processListCommand() {
        MemberService ms = acac.getBean(MemberService.class);
        ms.list();
    }

    private static void processNewCommand(){
        MemberService ms = acac.getBean(MemberService.class);

        MemberDto md = MemberDto.builder()
                .email("aaa@naver.com")
                .name("홀길동")
                .password("1234")
                .confirmPassword("1234")
                .build();



        if(!md.isEqualPassword()){
            System.out.println("비밀번호가 다릅니다.");
            return;
        }

        ms.regist(md);


    }
}

context로 빈 칸을 만들어준다.

빈칸에 대한 getBeen으로 칸에대한 값을 넣어준다.

빌더를 사용해서 email, name, password, confirmPassword 값을 만들어준다.

 

만약 md의 값이 같지 않다면 

비밀번호가 다릅니다를 출력합니다.

 

ms에 대한 regist의 md 를 호출한다.

 

●MyConf

package org.example.conf;

import org.example.Member.MemberDto;
import org.example.Member.MemberRepository;
import org.example.Member.MemberService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyConf {

    @Bean
    public MemberRepository memberDao(){
        MemberRepository md = new MemberRepository();
        return md;
    }

    @Bean
    public MemberService memberService(){
        MemberService ms = new MemberService(memberDao());
        return ms;
    }
}

 

md와 ms 를 객체 생성해준다.

 

●Member

package org.example.Member;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.time.LocalDate;

@AllArgsConstructor
@ToString
@Setter
@Getter
public class Member {

    private int id;

    private String email;

    private String name;

    private String password;

    private String confirmPassword;

    private LocalDate localDate;
}

 

private 로 생성해준다 여기서 lombok을 이용해 getter, setter, ToString, AllArgsConstructor 생성해준다.

 

● MemberDto

package org.example.Member;


import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Builder
public class MemberDto {

    private String email;

    private String name;

    private String password;

    private String confirmPassword;


    public boolean isEqualPassword(){
        return password.equals(confirmPassword);
    }
}

 

똑같이 private 를 이용해서 생성해준다 .

 

boolean를 사용해서 값이 같은지 다른지 확인한다.

 

 

●MemberRepository

package org.example.Member;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

public class MemberRepository {

    private  static long id =0;

    private Map<String,Member> map = new HashMap<>();

    public void insert(Member member){
        member.setId((int) ++id);
        map.put(member.getEmail(),member);
    }

    public Collection<Member> select(){
        return map.values();
    }
}

 

insert 와 select를 생성해준다 .

insert는 map.put을 이용해서 값을 추가해준다.

 

select는 map의 values 의 값을 보 return을 해준다.

 

 

●MemberService

package org.example.Member;

import java.time.LocalDate;
import java.util.Collection;

public class MemberService {

    private MemberRepository memberRepository;

    public MemberService(MemberRepository memberRepository){
        this.memberRepository = memberRepository;
    }


    public void regist(MemberDto md) {

        Member member = new Member(
                0,
                md.getEmail(),
                md.getName(),
                md.getPassword(),
                md.getConfirmPassword(),
                LocalDate.now()
        );


        memberRepository.insert(member);
    }

    public void list(){
        Collection<Member> collection = memberRepository.select();
        collection.stream()
                .forEach(System.out::println);
    }
}

 

member에 대한 객체생성을 해주고 

 

insert(member)에 대한값을 넣어준다 .

 

list를 이용해서 list안에 담긴 값을 select로 보여준다 .

stream을 사용해 forEach를 쓴다 .

 

 

'spring' 카테고리의 다른 글

SPRING HATEOAS/Security == Intercepter  (0) 2024.03.15
맥북에서 DBeaver spring 으로 연결  (0) 2024.03.01
spring pom.xml  (0) 2024.02.28
spring 등록 출력(복습)  (0) 2024.02.27
Spring 기초  (0) 2024.02.22