본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

17일차 - 스프링부트 Component, Autowired

Flex 복습

http://www.flexboxdefense.com/

 

Flexbox Defense

Your job is to stop the incoming enemies from getting past your defenses. Unlike other tower defense games, you must position your towers using CSS!

www.flexboxdefense.com


 

Component와 Autowired

@Component & @Service : Ioc 컨테이너에 의해 생성, 소멸이 관리된다.

@Autowired : Ioc 컨테이너에 의해 관리되는 객체와 연결시켜준다.


기존 코드

@Controller
public class MemberController {
    private final MemberService memberService;

    public MemberController(){
        memberService = new MemberService();
    }

 

필드 주입

@Controller
public class MemberController {
    @Autowired
    private MemberService memberService;

 

생성자 주입(더 많이 쓴다)

@Controller
public class MemberController {
    private final MemberService memberService;

    @Autowired
    public MemberController(MemberService memberService){
        this.memberService = memberService;
    }

  

@AllArgsConstructor 어노테이션 붙여서 생성자 주입

@Controller
@AllArgsConstructor
public class MemberController {
    private final MemberService memberService;

쿠키를 이용한 로그인 구현

- 로그인 시 쿠키 발급 > 로그인이 필요한 로직에서 쿠키로 로그인 확인

- 로그아웃 => 쿠키 삭제


쿠키 삭제

Arrays.stream(req.getCookies())
        .filter(cookie -> 조건문 )
        .forEach(cookie -> {
            cookie.setMaxAge(0);
            resp.addCookie(cookie);
        });

- setMaxAge를 0으로 설정한다.