스프링의 DI 컨테이너를 알기 이전에 프레임워크와 라이브러리의 차이를 알아야 한다 !!💡 프레임워크 VS 라이브러리\*\*쉽게 말하자면 <mark style="background-color:- 라이브러리는 가져와서 코드를 수정해서 사용해도 된다. 하지만 프레임워
스프링 컨테이너 > 스프링 컨테이너는 ApplicationContext 라는 인터페이스를 뜻한다.
Spring Security 는 로그인하는 사용자를 검증할 수 있고, 그 외에 많은 기능들이 있다.pom.xml 설정파일에 아래와 같이 추가해준다.그리고 따로 시큐리티 설정 클래스를 만든 후 아래와 같이 추가해준다.간단히 설명하자면 encode() 메서드는 비밀번호를
CSRF(Cross-Site Request Forgery) 란 직역하면 사이트 간 요청 위조 라는 뜻이다.클라이언트 www.legday.com 사이트에 가입을 한다고 가정해보자1\. 클라이언트가 서버에게 회원가입 페이지에 접속 요청을 한다.2\. 서버는 회원가입 뷰를
싱글톤 디자인 패턴 싱글톤 컨테이너를 알기 전에 싱글톤 디자인 패턴을 알면 더 이해가 쉽다. 싱글톤(Singleton) 패턴이란 객체의 인스턴스가 오직 1개만 존재하는 패턴이다. 아래와 같이 생성자를 private로 지정하여 외부에서 객체를 생성할 수 없게 막고 sta
스프링 시큐리티를 디테일하게 공부하진 못했지만 미니프로젝트를 하면서 겉핡기식 공부중에 비밀번호를 암호화 하는 방법을 알아냈다.스프링 시큐리티 세팅파일에 가서 아래와 같이 선언해준다 이제 암호화 로직을 실행시키는 파일에서 BCryptPasswordEncoder 를 DI
개발을 하다보면 CRUD 기반으로 로직을 짠다. 실무에서는 CRUD 기반으로 개발하는것 보다는 유효성검사나 예외처리 같은 부분에 더 많은 시간을 쓴다고 한다.만약 Client가 ssar 이라는 이름으로 회원가입을 요청한다고 하자. 만약 DB에 이미 ssar 이라는 이름
Spring Securiy 를 사용하면 따로 로그인 컨트롤러를 구현하지 않고 스프링 시큐리티에게 양도한다.SecurityConfig 파일에 있는코드에 따라 "/", "/user/\*\*" 등으로 오는 요청들은 시큐리티가 가로채서 authenticated() 메서드를 실
JPA 를 하다보면 JPQL 을 사용하기 어려운 경우가 있다. JPARepository 를 쓸 때에도 제공되는 메서드외에 따로 사용자가 만들어서 써야할 때가 있다. 이때 Native Query 를 사용하면 된다!!@Query 안에는 Native Query 뿐 아니라 J
클라이언트가 이미지를 업로드하면 서버는 프로젝트 외부에 있는 폴더에 사진을 저장하고 DB 에는 사진의 경로와 사진이름으로 조합된 문자열을 DB 에 저장한다 !사용자로부터 이미지파일과 이미지설명을 받아오는 DTO 를 구현한다.Spring에서 지원하는 MultipartFi
프로젝트 외부에 있는 upload 폴더에 저장되있는 리소스들을 JSP 에 가져와 쓰다보면 경로를 인식 못하는 경우가 있다. 이럴 때 WebConfig 에 설정을 추가해주면 된다 !!프로젝트 외부에 있는 사진에 경로가 저장된 image 엔터티의 리소스를 jsp 파일에 추
QLRM 은 DB에서 나온 결과를 Java 클래스에 매핑해주는 라이브러리이다 !pom.xml 에 추가해주면 된다.@Query 어노테이션을 사용하여 JpaRepository 구현체에서 쓰는 방법이 아닌 실제 로직이 돌아가는 코드에서 사용하는 예시이다.이유는 JpaRepo
스프링에서 스프링 빈을 등록할려면 @Bean 어노테이션으로 appConfig 파일에 직접 등록해줘야 한다. 하지만 @Component 와 @ComponentScan 어노테이션을 사용하면 편리하게 빈 등록이 가능하다 컴포너트 스캔은 이름 그대로 @Component 어노테
목표 : 웹 어플리케이션에서 로그인을 처리할 때 쿠키와 세션을 어떻게 사용하는지 정리 쿠키(Cookie) HTTP 는 무상태(Stateless) 프로토콜이기 때문에 요청과 응답이 끝나면 연결이 끊긴다. 클라이언트 입장에서 로그인을 한다면 매번 요청을 할 때마다 로그인