30%
61,600원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결스프링 핵심 원리 - 기본편
@ComponentScan의 순서와 @오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Appconfig파일과 AutoAppConfig 파일 2개가 있을때CoreApplication을 실행하면main 메서드가 실행됨: SpringApplication.run(CoreApplication.class, args);가 호출되어 스프링 애플리케이션이 시작됩니다.@SpringBootApplication에서 @ComponentScan이 실행됨: @SpringBootApplication에는 내부적으로 @ComponentScan이 포함되어 있습니다. 이 때, 기본 패키지를 기준으로 @Component, @Service, @Repository, @Controller 등의 애노테이션이 붙은 클래스들을 스캔하고 빈으로 등록합니다.AutoAppConfig에는 @ComponentScan+ filter가 있으므로 AppConfig 보다 AutoAppConfig의 설정 정보를 먼저 적용함AutoAppConfig의 @ComponentScan에는 excludeFilters가 있어서 AppConfig의 @Configuration과 @Bean들은 등록되지 않음이렇게 이해를 하였는데첫번째로 이순서가 맞는것인지 궁금하고,두번째는 테스트 환경에서 package hello.core; //import 생략 @SpringBootTest class CoreApplicationTests { @Test public void contextLoads() { } } 이 테스트에서 오류가 발생하였는데오류내용 : Parameter 0 of constructor in hello.core.Order.OrderServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined in file [hello\core\member\MemoryMemberRepository.class - MemberRepository: defined by method 'MemberRepository' in class path resource [hello/core/AppConfig.class 오류내용은 Type에 따른 빈이 2개가 있다는것이었습니다.memberRepository, memoryMemberRepository같은 식으로제가 AppConfig파일에서 @Bean처리를 한 memberRepository와AutoAppConfig파일에서 @Component처리를한 구현체 memoryMemberRepository 또한 빈으로 등록이 되어있었습니다.그래서 AppConfig의 @Bean을 모두 주석처리 해주었더니 오류는 없어졌습니다.만약 제가 말씀드린 순서가 맞다면 filter처리된 Appconfig파일의 @configuration의 @bean들은 등록되지 않아야하는데 왜 filter처리가 안된것인지 궁금합니다. 아래는 import부분은 생략한autoappconfig와 appconfig파일입니다.기본패키지도 같게하여서 따로 문제는 없는것같지만일단 올려보았습니다.autoappconfigpackage hello.core; @Configuration @ComponentScan( excludeFilters = @Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) public class AutoAppConfig { } appconfig (빈 주석처리 이후 오류 없어짐)package hello.core; @Configuration public class AppConfig { //@Bean public MemberService memberService(){ return new MemberServiceImpl(MemberRepository()); } //@Bean public MemberRepository MemberRepository() { return new MemoryMemberRepository(); } //@Bean public OrderService orderService() { return new OrderServiceImpl(MemberRepository(), DiscountPolicy()); } //@Bean public DiscountPolicy DiscountPolicy() { return new RateDiscountPolicy(); } }
- 미해결스프링 핵심 원리 - 기본편
findAllBean() , java.lang.NullPointerException 오류가 납니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: )질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. java.lang.NullPointerException: Cannot invoke "hello.core.discount.DiscountPolicy.discount(hello.core.member.Member, int)" because "discountPolicy" is null 이렇게 오류가 뜨는데 이유를 모르겠습니다..
- 미해결스프링 핵심 원리 - 기본편
interface와 기능추가
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]고객이 주문취소 를 추가 개발해달라고 요청이 왔을때는 어떤식으로 개발을 해야되나요? 추가 요건이 생길때마다 interface와 클래스를 새로 만들어야되나요?
- 해결됨스프링 핵심 원리 - 기본편
테스트 폴더 compact middle packages
main 폴더에서는 compact middle packages이 잘 적용되어서 hello.core 로 나와있는데 test폴더에서는 compact middle packages가 적용되어 있지 않습니다 해결 방법이 있나요?
- 미해결스프링 핵심 원리 - 기본편
log DEBUG 모드로 어떻게 하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]13분 05초 처럼 로그를 보고 싶은데 DEBUG 로그레벨로 설정을 어떻게 해야하는지 모르겠습니다.다른 분들 찾아보니 logback.xml 이라는 파일도 있는 것 같던데 저는 그 파일이 아예 없네요!
- 미해결스프링 핵심 원리 - 기본편
섹션4질문입니다.
스프링 컨테이너와 스프링 빈스프링 컨테이너 생성 3분에서 이 클래스는 어플리케이션컨텍스트 인터페이스의 구현체이다. 라고 나와있는데요. 구현체가 무슨의미인가요?
- 미해결스프링 핵심 원리 - 기본편
request 스코프와 ObjectProvider 이해
request 스코프 예제를 만들고, ObjectProvider로 해결하는 부분을 학습하던 중 헷갈리는 부분이 있어서 질문 드립니다. 일단 저는 이렇게 이해하였습니다.싱글톤 스코프의 빈은 스프링 애플리케이션 실행 시점에 빈의 생성과 주입이 이루어지고, request 스코프의 빈은 HTTP 요청이 들어와야 빈을 생성한다LogDemoController와 LogDemoService는 싱글톤 스코프의 빈이고, MyLogger는 request 스코프의 빈이다 싱글톤 스코프와 request 스코프는 서로 빈의 생성과 주입 시기가 달라서 싱글톤 스코프의 빈이 request 스코프의 빈을 참조할 수 없기 때문에 오류가 발생하였다이 오류를 해결하기 위해서는 DL 서비스를 제공하는 ObjectProvider를 사용해야 한다 ObjectProvider의 getObject() 메서드를 사용하면 request 스코프의 빈을 가져올 수 있다 헷갈리는 부분은 이 부분입니다."ObjectProvider 덕분에 getObject() 메서드를 호출하는 시점까지 request 스코프의 빈 생성을 지연할 수 있다"이 부분을 어떻게 해석해야 할까요?이 부분 때문에 내용 정리가 잘 안됩니다
- 해결됨스프링 핵심 원리 - 기본편
코드를 그대로 입력했는데 getBeanDefinition에서 에러 발생합니다 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 애플리케이션 빈 출력하기 코드 부분 중 아래에 있는 부분에서 에러가 발생합니다 ㅠㅠBeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName);강사님과 똑같이 코드를 입력했는데 getBeanDefinition에서 아래와 같은 에러가 발생합니다java: cannot find symbol symbol: method getBeanDefinition(java.lang.String) location: variable ac of type org.springframework.context.ApplicationContext 참고로 자바 17 사용중입니다. 아래는 전체 코드입니다.package hello.core.beanfind; import hello.core.AppConfig; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class ApplicationContextInfoTest { ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("모든 빈 출력하기") void findAllBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name = " + beanDefinitionName + " Object : " + bean); } } @Test @DisplayName("애플리케이션 빈 출력하기") void findApplicationBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { BeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName); // Role ROLE_APPLICATION : 직접 등록한 애플리케이션 빈 // Role ROLE_INFRASTRUCTURE : 스프링이 내부에서 사용하는 빈 if (beanDefinition.getRole() == BeanDefinition.ROLE_APPLICATION) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name = " + beanDefinitionName + " Object : " + bean); } } } }
- 미해결스프링 핵심 원리 - 기본편
섹션2 APPCONFIG리팩토링 1분 35초 강의에서 질문있습니다.
섹션2 APPCONFIG리팩토링 1분 35초 강의에서 질문있습니다.저는 선생님처럼 저런 네모창이 안뜨고 오른쪽 화면처럼 자동으로 변수명이 바뀌는데 네모창 틀려면 어떻게 해야 하나요? 화면 확대는 새탭에서 이미지 열기 하시면 그림 확대에서 보입니다.
- 미해결스프링 핵심 원리 - 기본편
예제2 질문입니다.
새로운 할인 정책 개발에서 RateDiscountPolicyTest파일에서 RateDiscountPolicy DiscountPolicy=new RateDiscountPolicy(); 이렇게 쓰는데요.class OrderServiceTest {MemberService memberService = new MemberServiceImpl();OrderService orderService = new OrderServiceImpl();근데 OrderServiceTest 에서는 뒤에 IMPL이 붙여져 있는 파일을 객체로 사용하는데 위랑 같은 형식으로 사용할려면 MemberService memberService = new MemberService();이렇게 써야 하는거 아닌가요?2.새로운 할인 정책 적용과 문제점 4분 19초에private final DiscountPolicy discountPolicy=new FixDiscountPolicy();이 코드가 인터페이스도 의존하고 구체화도 의존한다고 했는데 어느게 인터페이스 의존하고 어느게 구체화도 의존한건가요?FixDiscountPolicy() 이게 구체화의존하고 DiscountPolicy 이게 인터페이스 의존했다는 말씀인가요?3.새로운 할인 정책 적용과 문제점 6분에 OCP위반되었다고 하는데 아래처럼 FixDiscountPolicy();에서-> RateDiscountPolicy(); 이렇게 바꾸는게 OCP위반인가요?// private final DiscountPolicy discountPolicy=new FixDiscountPolicy();private final DiscountPolicy discountPolicy=new RateDiscountPolicy();4.관심사의 분리 17분appConfig 객체는 memoryMemberRepository 객체를 생성하고 그 참조값을 memberServiceImpl 을생성하면서 생성자로 전달한다고 하셨는데요.근데 코드 보면 public class AppConfig {public MemberService memberService() {return new MemberServiceImpl(new MemoryMemberRepository());}리턴으로 반환값인데 전달을 어디서 하는거에요?5.관심사의 분리 7분 45초에 public MemberServiceImpl(MemberRepository memberRepository) { 위에 4 related problem이 있는데요.강의를 따라가면 에러가 해결되긴 하는데요.에러를 보면public MemberServiceImpl(MemberRepository memberRepository)이거와 아래 코드가 연관된 문제라고 하는데 다른 클래스인데도 왜 연관되어있나요? class OrderServiceTest { MemberService memberService = new MemberServiceImpl(); OrderService orderService = new OrderServiceImpl();6.관심사의 분리 22분에 강의에서 null로 채우시면 컴파일 오류가 안나는데 왜 안나는 거에요?
- 해결됨스프링 핵심 원리 - 기본편
DI에 관해서 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]DI는 결국 인터페이스를 의존하는데, 클래스를 의존하게 된다면 필드에 private final Class clss = new Class();로 생성해서 사용하면 되나요?인터페이스가 필요없는 클래스들도 DI를 위해서 인터페이스를 새로 생성 해야할까요?모든것에 DI를 적용해야 하는것인지 궁금합니다.
- 해결됨스프링 핵심 원리 - 기본편
@Autowired 생략 가능한 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@Autowired를 생략 가능한 경우로 생성자가 1개일 때 가능한 건 알고 있는데 필드 주입이나 수정자 주입의 경우엔 필드가 1개일 때 혹은 수정자 메서드가 1개일 때 @Autowired 생략 가능하다 이런 건 따로 없는 건가요?
- 해결됨스프링 핵심 원리 - 기본편
혹시 강의 자료 오타인지 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]빈 스코프.pdf 3 페이지에이렇게 나와 있습니다. 세 번째에 memberService 요청이라고 써져 있는데 오타인가 싶어서 말씀드립니다.
- 해결됨스프링 핵심 원리 - 기본편
프로토타입 스코프 빈의 스프링 빈 저장소에서의 상태
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래 사진은 예전에 스프링 컨테이너와 스프링 빈 파트의 학습 자료에 있는 사진입니다.위 사진은 싱글톤 기준으로 설명된 그림 같은데 프로토타입 스코프 빈의 경우를 위 그림에 대입하면스프링 컨테이너가 생성된 이후, 스프링 빈 저장소에 빈 이름만 있고, 빈 객체는 비어 있다고 생각하면 될까요? 요청이 와야 비로소 객체를 생성 후 클라이언트에게 반환하고, 요청이 온 이후에도 스프링 빈 저장소엔 여전히 빈 이름만 있고 빈 객체는 비어 있다고 보면 되나요? 제대로 이해한 건지 확인차 질문드립니다.
- 미해결스프링 핵심 원리 - 기본편
회원 도메인 실행과 테스트 강의 8분 40초 질문입니다.
스프링 핵심 원리 이해1 - 예제 만들기 질문입니다.회원 도메인 실행과 테스트 강의 8분 40초에 memorymemberrepository가 추상화에도 의존하고 구체화에도 의존한다는게 무슨뜻인가요? 2.주문과 할인 도메인 개발 7분public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository=new MemoryMemberRepository(); private final DiscountPolicy discountPolicy=new FixDiscountPolicy();자바를 배울 때private final MemberRepository memberRepository=new memberRepository();이런식으로 객체도 같은 이름으로 생성해서 항상 그런줄알았는데 왜 memberRepository() 이게 아니라 MemoryMemberRepository() 이런식으로 되는건가요?implements와 extends차이점이 뭔가요? https://velog.io/@hkoo9329/%EC%9E%90%EB%B0%94-extends-implements-%EC%B0%A8%EC%9D%B4 여기서는class가 class를 상속받을 땐 extends를 사용하고, interface가 interface를 상속 받을 땐 extends를 사용한다. 이렇게나와있는데 이게 맞는거아요? 주문과 할인 도메인 실행과 테스트 1분public class OrderApp { public static void main(String[] args) { MemberService memberService = new MemberServiceImpl(); OrderService orderService = new OrderServiceImpl(); long memberId = 1L; Member member = new Member(memberId, "memberA", Grade.VIP); memberService.join(member); Order order = orderService.createOrder(memberId, "itemA", 10000); System.out.println("order = " + order); } }Long memberId=1L 여기서 1리터가 무슨 뜻인가요?public class Member { private Long id; private String name; private Grade grade;Member클래스에 grade로 변수 선언했는데요. grade가 소문자가 아닌 Grade.VIP 대문자로 되어있는데 왜이러는건가요?
- 해결됨스프링 핵심 원리 - 기본편
외부 라이브러리에 초기화, 종료 메서드를 적용하는 경우에 대한 의문점
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]"코드가 아니라 설정 정보를 사용하기 때문에 코드를 고칠 수 없는 외부 라이브러리에도 초기화, 종료 메서드를 적용할 수 있다."라고 나와 있는데 이게 어떻게 가능한지에 대해 궁금합니다. 아래는 강의에 나온 예인데@Bean(initMethod = "init", destroyMethod = "close") public NetworkClient networkClient() { NetworkClient networkClient = new NetworkClient(); networkClient.setUrl("http://hello-spring.dev"); return networkClient; }이 경우엔 초기화 메서드 init()과 종료 메서드 close() 모두 NetworkClient의 메서드이잖아요? 그런데 외부 라이브러리에 초기화, 종료 메서드를 적용할 땐 초기화 메서드와 종료 메서드를 어떤 클래스에서 선언하고, @Bean(initMethod = ?, destroyMethod = ?) 여기에선 어떤 식으로 적으면 되나요?외부 라이브러리는 코드를 수정할 수 없으니 외부 라이브러리 클래스 내부에 초기화, 종료 메서드를 선언하긴 어려울 것 같아서 질문드립니다.
- 해결됨스프링 핵심 원리 - 기본편
[빈 생명주기 콜백 시작] 초기화에 관련해서 질문이 있습니다.
안녕하세요.영한님이 빈 생명 주기 콜백이란 강의에서 말씀해주신 내용과 관련해서 질문이 있어 연락드립니다.위의 그림을 보시면 객체의 생성과 초기화를 분리하자고 되어 있습니다.제가 이 문구를 이해한 바로는 생성자를 통해서 초기화를 하지 말고 setter함수를 통해서 초기화를 하자는 내용입니다.그러나 이 초기화라는 개념이 모호합니다.초기화의 목적은 객체가 사용가능하도록 만드는 것이라고 알고 있습니다.그런면에서 속성값을 넣어주는 것은 초기화라고 생각합니다.하지만 객체에 의존관계를 주입해주는 것도 구체적인 값을 부여해주는 것이기에 초기화라고 할 수 있습니다.그렇다면 의존관계 주입도 setter로 하는게 좋다는 결론이 됩니다.하지만 영한님의 이전 강의 '생성자 주입을 선택해라!' 편에서 말씀해주셨듯이 의존관계의 경우 생성자 주입을 선택하는 것이 좋다는 말씀하셨습니다.여기에 대해 제가 결론을 내린 바로는 속성값을 넣어주는 것과 의존관계 주입 모두 초기화인데 속성값을 넣어주는 것은 setter를 통해 의존관계 주입은 생성자 주입을 통해 라는 것입니다. 속성값을 setter로 넣어주는 이유는 그값이 변할 수 있기 때문이고 생성자 주입을 사용하는 이유는 보통은 객체가 변할 일이 없기 때문일 것입니다.방금전 제가 내린 초기화에 대한 결론이 맞는지 궁금합니다.감사합니다.
- 미해결스프링 핵심 원리 - 기본편
싱글톤 테스트
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의에서 싱글톤은 유연하게 테스트가 어렵다고 말씀해 주셨는데요.어려운 이유가 static이기 때문인가요?클래스가 메모리에 로드될 때 생성되는거라서 유연하지 않은건지 궁금합니다.
- 미해결스프링 핵심 원리 - 기본편
강의 로드맵 순서 질문있습니다!
영한님 강의 로드맵을 보고 메모 후 밑의 강의들을 모두 구매한 상태입니다. 1.스프링입문 2.스프링 핵심원리-기본편3.모든 개발자를 위한 http 웹 기본지식 4.스프링 웹 MVC 1,2편5.스프링 DB데이터 접근 기술 1,2편 6.스프링 핵심원리-고급편7.실전! 스프링 부트부트+jpa 현재 2번 스프링 핵심원리- 기본편까진 완강한 상태이고마지막 다음으로 강의에선 기본편 마치고 웹 MVC, DB 접근 기술, 부트까지 가는 방향으로 생각하고 있다고 해주셨는데20년 강의순서 답변과 제가 봤던 로드맵과 마지막 강의에서 추천해주시는게 다 달라서추천해주신대로 바로 다음 스프링 부트와 JPA 실무 완전 정복 로드맵 후에MVC DB로 가면 되는거지학습 순서와 강의 구성을 어떻게 하면 좋을지 여쭙고자 질문 올렸습니다 !
- 해결됨스프링 핵심 원리 - 기본편
스프링 없이
스프링 없이 순수 자바 코드로 런타임 시점에 dependency injection이 가능하게 구현할 수 있나요??