본문 바로가기

Spring/Spring Framework9

스프링 시큐리티 (회원가입+ 로그인 /로그아웃) 애플리케이션을 만들기 위해서는 보통 인증/인가 등의 보안이 필요합니다. 스프링 시큐리티는 스프링 기반의 애플리케이션을 위한 보안 솔루션을 제공합니다. 애플리케이션의 보안에서 중요한 두가지 영역은 '인증'과 '인가' 입니다. 웹에서 인증이란 해당 리소스에 대해서 작업을 수행할 수 있는 주체인지 확인하는 것입니다. 예를 들어 어떤 커뮤니티에서 게이산의 글을 보는 것은 로그인을 하지 않아도 되지만, 댓글을 작성하려면 로그인을 해야 합니다. 댓글을 달기 위해서는 로그인이라는 인증 절차를 거쳐야합니다. 인가는 인증 과정 이후에 일어납니다. 커뮤니티를 관리하는 관리자 페이지에 접근하는 URL을 입력했을 때 해당 URL은 커뮤니티의 관리자만 접근할 수 있어야 합니다. 이때 접근하는 사용자가 해당 URL에 대해서 인가.. 2023. 3. 4.
스프링 프레임워크 스테리오타입 어노테이션 스프링 빈을 생성할 때마다 @ Component 어노테이션을 추가 했었습니다. 이밖에도 사용할 수 있는 어노테이션은 많습니다. @Component는 제네릭 어노테이션으로 모든 클래스에 적용할 수 있습니다. 특정 클래스에 대해 스프링 빈을 생성한다면 @Component를 추가할 수 있습니다. 이것이 모든 스프링 스테레오타입 어노테이션의 이본입니다. @service 일반적으로 어노테이션된 클래스가 비즈니스 로직을 가지고 있다는 것을 가르킵니다. 즉 클래스가 비즈니스 로직을 가지고 있다면 @Component 대신 @Service를 사용할 수있습니다. @Controller 클래스가 controller인 경우 가령 웹 컨트롤러 라면 자주 사용할 어노테이션은 @Controller 입니다 웹 애플리케이션과 REST .. 2023. 2. 27.
빈 생명주기 관리하기 (@PostConstruct, @PreDestroy) 스프링 빈의 생명주기 관리 빈이 생성되거나 소멸되는 경우 특정한 작업을 하고싶은 경우가 있습니다. 하나의 예시로는 빈이 생성될 때 데이터베이스 커넥션 풀을 미리 생성하는 경우가 있습니다. 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸 전 콜백 -> 스프링 종료 - 초기화 콜백: 빈이 생성되고, 빈의 의존관계 주입이 완료된 후 호출 - 소멸전 콜백: 빈이 소멸되기 직전에 호출 스프링 빈은 크게 3가지 방법으로 빈 생명주기 콜백을 지원 - 인터페이스 (InitializingBean, DisposableBean) - 설정정보 초기화 메서드, 종료 메서드 지정 - @PostConstruct, @PreDestroy @PostConstruct 주석은 다음 이후.. 2023. 2. 27.
스프링 프레임워크 중요한 용어 @Componet @Component를 추가하면, 클래스와 인스턴스는 스프링 프레임워크가 관리하게 됩니다 다양한 클래스에도 사용이 되며 의존성에도 사용됩니다. @Component는 가장 중요한 어노테이션입니다. @Component를 사용하고, 해당 클래스가 @ComponentScan에 포함되어 있다면 클래스 인스턴스와 스프링 빈 역시 생성될 것이고 이들을 스프링이 관리하게 됩니다. 의존성(Dependency) 의존성 주입은 IoC(Invesoin of Control, 의존성 역전) 원칙하에 객체간의 결합을 약하게해주고 유지보수가좋은 코드를 만들어줍니다. 즉, 외부에서 생성된 객체를 이용하는 것입니다. @ComponentScan 스프링은 컴포넌트가 어디에 있는지 알아야 합니다 스프링 프레임워크에 이를 알리.. 2023. 2. 27.