분류 전체보기314 [Spring] Singletone 패턴을 왜 써야 할까? 안 썼을 때의 문제점package hello.core.singleton;import hello.core.AppConfig;import hello.core.member.MemberService;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.Test;public class SingletonTest { @Test @DisplayName("스프링 없는 순순한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); // 1. 조회 : 호출할 때 마다 객체.. 2025. 7. 11. [Spring] Bean 조회 4 - 스프링 빈 설정 메타 정보(BeanDefinition) BeanDefinition은 추상화를 활용한 것=> 스프링 컨테이너는 자바 코드인지, XML인지 몰라도 됨. 그냥 BeanDefinition만 확인하면 됨. BeanDefinition 을 빈 설정 메타정보라 한다.=> @Bean , 당 각각 하나씩 메타 정보가 생성된다 스프링 컨테이너는 이 메타정보를 기반으로 스프링 빈을 생성하는 것. package hello.core.beandefinition;import hello.core.AppConfig;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.config.BeanDefinition;import o.. 2025. 7. 9. [Spring] Bean 조회 3 - 상속 부모 타입으로 조회하면 자식 타입들은 조회가 될까요?=> Yes Object(모든 자바 객체의 최상위 부모 타입)으로 조회를 한다면?=> 모든 스프링 빈이 조회 됨. package hello.core.beanfind;import hello.core.AppConfig;import hello.core.discount.DiscountPolicy;import hello.core.discount.FixDiscountPolicy;import hello.core.discount.RateDiscountPolicy;import org.junit.jupiter.api.Assertions;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.Test;i.. 2025. 7. 9. [Spring] Bean 조회 2 - 동일한 타입 조회시 처리 (NoUniqueBeanDefinitionException) 1. 타입 조회 시 동일한 타입이 있을 때public class ApplicationContextSameBeanFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(SameBeanConfig.class); @Test @DisplayName("타입으로 조회 시 같은 타입이 둘 이상 있으면, 중복 오류가 발생한다.") void findBeanByTypeDuplicate() { MemberReposiroty bean = ac.getBean(MemberReposiroty.class); } @Configuration static class SameBeanCo.. 2025. 7. 8. [Spring] Bean 조회하기 https://fall-in-dream.tistory.com/323 [Spring] @Configuration, @Bean 이란?@Configuarion 스프링 설정 클래스임을 나타내는 어노테이션이 클래스는 스프링 컨테이너가 관리할 Bean 정의들을 담고 있는 클래스임을 알려주는 겁니다. 내부적으로 @Component를 포함하고 있어 컴포fall-in-dream.tistory.com 이전에 작성했던 AppConfig에 @Configuration과 @Bean을 사용해서 컨테이너와 빈을 생성했습니다. 이러한 빈들이 개발자가 원하는대로 잘 만들어졌는지 확인이 필요할 때가 있습니다. 그 방법들을 기록해볼까 합니다. 0. 모든 빈 조회하기 - getBeanDefinitionNames, getBeanDefini.. 2025. 7. 8. 정처기 정리 📗 Chapter 2. SQL 응용1. SQL 기본 구문SELECT: 원하는 컬럼을 조회할 때 사용sql복사편집SELECT name, age FROM users; WHERE: 조건식sql복사편집SELECT * FROM users WHERE age > 30; GROUP BY / HAVING: 그룹화 및 그룹 조건sql복사편집SELECT dept, COUNT(*) FROM emp GROUP BY dept HAVING COUNT(*) > 5; 2. JOIN유형설명예시INNER JOIN두 테이블 모두에 존재하는 데이터A INNER JOIN B ON A.id = B.idLEFT JOIN왼쪽 테이블 기준 + NULLA LEFT JOIN BRIGHT JOIN오른쪽 테이블 기준 + NULLA RIGHT JOIN BS.. 2025. 7. 2. 이전 1 2 3 4 ··· 53 다음