본문 바로가기
728x90

분류 전체보기138

스프링 시큐리티를 이용한 회원가입과 로그인 1 책과 인터넷 강의를 통해 회원가입과 로그인에 대해서 배웠습니다. 배운 내용을 바탕으로 회원가입과 로그인을 만들어보려고 합니다. 환경은 mysql, springSecurity, gradle, .yml로 진행합니다. plugins { id 'org.springframework.boot' version '2.5.5' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.asdAnything' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } re.. 2021. 10. 1.
스프링과 의존관계 자동 주입 이번 포스팅에서는 스프링의 의존관계 자동 주입에 대해서 알아보겠습니다. 다양한 의존관계 주입 방법 생성자 주입 수정자 주입 필드 주입 일반 메서드 주입 생성자 주입 - 생성자를 통해 의존 관계를 주입하는 방법입니다. - 특징 1. 생성자 호출시점에 딱 1번만 호출되는 것이 보장됩니다. 2. 불변, 필수 의존관계에 사용됩니다. @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired // 생략가능 public OrderServiceImpl(MemberRepos.. 2021. 9. 20.
스프링 컨포넌트 스캔 이번 포스팅에서는 스프링과 컴포넌트 스캔에 대해서 정리해 보겠습니다. 컴포넌트 스캔과 의존관계 자동 주입 이전 포스팅까지 스프링 빈을 등록할 때 자바 코드의 @Bean 또는 XML을 통해서 설정 정보에 직접 등록할 빈을 만들었습니다. 그런데 만약 등록해야 할 스프링 빈이 셀수 없이 많을 때도 빈을 직접 등록할 수 있을까요?? 이런 고민을 통해 스프링에서 설정 정보가 없더라도 자동으로 빈을 등록해주는 컴포넌트 스캔이라는 기능을 제공하도록 했습니다. 뿐만 아니라 빈들 사이의 의존관계를 처리하기 위해 @Autowired라는 기능을 통해 의존관계를 처리합니다. 코드를 보며 더 정확하게 정리해 보겠습니다. @Configuration @ComponentScan( excludeFilters = @ComponentSc.. 2021. 9. 15.
스프링 싱글톤 이번 포스팅에서는 싱글톤 패턴에 대해서 정리해보겠습니다. 싱글톤 - 스프링은 기업용 온라인 서비스를 지원하기 위해서 탄생했습니다. - 따라서 대부분의 스프링 애플리케이션은 웹 애플리케이션입니다 -> 이로 인해 동시에 여러 고객으로부터 요청을 받습니다. 위의 그림처럼 애플리케이션이 동작할 때 클라이언트의 요청에 따라 매번 새로운 객체를 생성해야 합니다. @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer(){ AppConfig appConfig = new AppConfig(); //1. 조회 : 호출할 때 마다 객체를 생성 MemberService memberService1 = appConfig.memberService(); //2. 조회 : 호출할 .. 2021. 9. 14.
스프링 컨테이너와 스프링 빈 이번 포스팅에서는 스프링 컨테이너와 빈에 대해서 간략하게 정리해 보겠습니다. 스프링 컨테이너 스프링 컨테이너를 생성할 때 ApplicationContext application = new AnnotationConfigApplicationContext(AppConfig.class) 코드를 사용하면 됩니다. 여기서 ApplicationContext가 스프링 컨테이너라고 하고 인터페이스입니다. 위에서 AppConfig.class는 애노테이션을 이용해 빈을 등록하는 클래스라서 AnnotationConfigApplicationContext를 이용해 스프링 컨테이너를 구체화 시켰습니다. 추가적으로 BeanFactory와 ApplicationContext를 스프링 컨테이너라고 부릅니다. 하지만 둘의 차이가 있고 다음.. 2021. 9. 13.
스프링 프레임워크란 무엇일까? 이번 포스팅에서는 스프링 프레임워크에 대한 정리를 해보겠습니다!! 스프링 프레임워크는 어디서 왔을까? 스프링 프레임워크는 정말 쉽게 개발자가 웹 애플리케이션 개발을 좀 더 쉽게 할 수 있도록 도와주는 것입니다. 스프링 프레임워크가 등장하기 전에 EJB라는 기술이 웹 애플리케이션 개발을 도와주고 있었습니다. EJB는 순수한 자바로 개발을 하기에 부담을 느끼고 만들어낸 기술입니다. - 물론 servlet, jsp 같은 기술들이 있었지만 복잡한 엔터프라이즈 애플리케이션을 구현하기에는 부담이 있었습니다. 여기서 개발자가 느끼는 부담은 비즈니스 로직뿐만 아니라 로우레벨(멀티쓰레딩, 리소스풀링, 트랜잭션, 보안 등)의 기술적인 처리도 요구되는 것이었습니다. -> 위와 같은 문제를 해결하기 위해 EJB라는 기술을 도.. 2021. 8. 17.
728x90