Java 56

[SpringFramework] Bean 우선순위 부여(@Primary, @Qualifier)

Bean에 우선순위 부여하기context.getBean(Person.class)위 코드를 통해 Bean으로 만들어진 Person 클래스를 호출할 수 있었습니다.(Person를 반환 유형으로 가진 클래스)그러나 Person를 반환하는 클래스가 여럿이라면 오류가 발생합니다.(조건에 일치하는 후보가 여러 개인 시나리오에서 예외를 출력합니다)Exception in thread "main" org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'com.ride.learnspringframework.Person' available: expected single matching bean but found..

Java 2023.11.29

[SpringFramework] Spring Container, Java Bean vs. POJO vs. Spring Bean

Spring Container, Java Bean vs. POJO vs.  Spring BeanSpring의 주요 개념을 살펴보도록 하겠습니다.1. Spring Container란? (Spring Context란?)(Spring, Spring Container, Spring IOC Container, Spring Context를 혼용하기도 합니다)Spring Container는 Spring Bean과 Spring Bean의 lifecycle(생명주기)을 관리합니다  앞서 여러 Java 클래스와 설정 파일을 만들었습니다.그리고 만든 것들을 Spring Container에 input으로 전달했습니다. POJOs : Person, Address(Plain Old Java Object, Java Class, ..

Java 2023.11.26

[SpringFramework] Spring Bean 생성, 확인, 의존성 주입

Spring이 Bean을 자동으로 생성하고 관리하도록 하면,프로젝트의 규모가 크더라도 손쉽게 관리할 수 있습니다.Java Spring Bean을 만들고 자동 연결하기SpringFramework를 활용하기 위한 설정을 하겠습니다.1. SpringContext 실행하기JVM 내에 SpringContext를 만들기 위해AnnotationConfig 클래스를 사용하여 AnnotationConfigApplicationContext를 만들기 위해설정(@Configuration) 클래스를 사용합니다.(@Configuration클래스로 SpringContext를 실행합니다)public class AppHelloWorldSpring { public static void main(String[] args) { va..

Java 2023.11.26

[SpringFramework] Coupling, 강한 결합과 느슨한 결합

강한 결합과 느슨한 결합0. 결합(Coupling)이란? 무언가를 변경하는 데 얼마나 많은 작업이 관련되어 있는지에 대한 것입니다. 결합은 일상생활에서 찾아볼 수 있습니다.더보기자동차를 예시로 들어보겠습니다.자동차의 구성 요소들을 생각하면엔진, 타이어, 핸들, 전면 유리,  키, 내비게이션, 블랙박스, 엔진 오일, 워셔액 등이 있습니다.이 중에 엔진은 자동차에 (강하게) 결합되어 있습니다, 엔진을 교체하는 작업은 상당히 번거롭습니다.타이어는 어떤가요? 타이어를 교체하는 것이 번거로울 수 있지만, 엔진에 비해 상대적으로 수월합니다.워셔액은 또 어떻죠? 누구나 보충할 수 있습니다. 이는 느슨한 결합이라고 볼 수 있습니다. 데스크톱과 노트북을 예시로 들어보겠습니다.집에 설치된 노트북과 데스크톱을 사용하는 데 ..

Java 2023.11.26

[SpringFramework] 스프링프로젝트 생성(spring.io, InteliJ), 클래스 생성

스프링프로젝트 생성(spring.io, InteliJ), 클래스 생성0. 앞서스프링 프레임워크에 대해 학습하기 위해스프링 프로젝트를 생성합니다.1. 프로젝트 생성하기 - spring.io더보기start.spring.io에 접속하여스프링 프로젝트를 생성합니다설정은 다음과 같습니다. - Maven- 3.2.0 (3.x.x)- Java 17- Jar 설정을 완료했으면 GENERATE 버튼을 클릭하여다운로드합니다.2. 프로젝트 열기 - InteliJ더보기인텔리제이에서 프로젝트를 열 수 있습니다.   기존에 수정하고 있던 프로젝트가 없다면 사진 3처럼,   수정하고 있던 프로젝트가 있다면 사진 4처럼 진행하고,    사진 5에서 Trust Project를 클릭하여최종적으로 프로젝트를 열 수 있습니다.3. 클래스 ..

Java 2023.11.25

SpringSecurity 스프링 시큐리티 웹 애플리케이션에서 시작하기 가이드(공식문서)

SpringSecurity 시작하기 가이드(~15분) SpringSecurity에 대해 심도있게 알아보기 전, 스프링 공식문서의 빠르게 시작할 수 있는 가이드를 통해 SpringSecurity에 대해 대략적으로 파악해보려고 합니다. 예제에선 Thymeleaf 를 사용했지만, Thymeleaf를 사용하지 않을 수도 있기 때문에 Spring 부분만 참조하려고 합니다! 또한, SpringBoot를 사용한다고 가정하여 view controller의 설정 또한 생략하려고 합니다. 생략한 부분에 대해 자세히 알고 싶으시다면, 참조 부분의 공식문서 페이지를 확인해주세요 준비사항 15분 이내의 시간 IDE Java 17 Gradle 7.5+ or Maven 3.5+ 시작 1. SpringSecurity 의존성 추가 G..

Java 2023.10.31
728x90
반응형