●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 |