@Autowired - NoSuchBeanDefinitionException
·
Framework/SPRING FRAMEWORK
💻 빈 없는 경우 => NoSuchBeanDefinitionException 주입해야되는 빈은 반드시 존재해야 한다. 없으면 NoSuchBeanDefinitionException 발생된다. 비활성화 가능하다. @Autowired(required=false) ✅ UserDAO dao 변수는 있는데 등록된 UserDAO 빈이 없다. ✅ 주입해야 되는 빈이 없기 때문에 NoSuchBeanDefinitionException 발생한다. 👇👇👇 💻 해결 => @Autowired(required=false) ✅ (required=false)를 줌으로써 옵션으로 바뀌게 된다. => NullPointerException 으로 바뀐다.
@Autowired - NoUniqueBeanDefinitionException
·
Framework/SPRING FRAMEWORK
✅ Cat.java - 변수 두 개를 작성한다. - 생성자, getter/setter, toString() 작성한다. ✅ Person.java - 변수 두개를 작성한다. - 다 작성해도 상관없지만 필요한 username의 set만 작성한다. - cat은 Autowired로 주입할 것이기 때문에 그대로 둔다. ✅ user.xml - 어노테이션을 쓰기 위해 필요한 를 작성해준다. (Namespaces에서 context도 체크) - Cat 빈을 등록한다. - Person 빈을 등록한다. 결과 💻 NoUniqueBeanDefinitionException 타입(type)으로 찾아서 주입하기 때문에 만약 동일한 타입이 여러 개인 경우에 발생한다. 👇👇👇 💡 해결 1 @Autowired @Qualifier(value..
@Autowired
·
Framework/SPRING FRAMEWORK
org.springframework.beans.factory.annotation.Autowired. Type 이용 속성 또는 생성자, setter 메소드에 설정 가능하고 필수 속성이다. ( required=false 로 필수 속성 해제가능) 기본적으로 일치하는 타입을 찾아서 injection 된다. 자동으로 주입 주입받는 대상을 타입(type)으로 찾아서 자동 주입 사용위치 3가지 변수 (권장) 생성자 메서드 💻 생성자 ✅ UserDAO.java 홍길동, 이순신 두 문자열이 담긴 배열을 담은 List 변수를 작성한다. ✅ UserService.java 변수와 필드생성자, setter를 작성한다. List의 기본 생성자도 작성한다. ✅ user.xml DAO를 등록한다. => 객체 생성됨 UserServi..
어노테이션+최소한의 XML Configuration Metadata 설정방법
·
Framework/SPRING FRAMEWORK
👉 반드시 지정해야 된다. @Required spring 5.x deprecated. @Autowired (Type 이용) 자동으로 주입 주입받는 대상을 타입(type)으로 찾아서 자동 주입 사용위치 3가지 변수 (권장) 생성자 메서드 주입해야되는 빈은 반드시 존재해야 한다. 없으면 NoSuchBeanDefinitionException 발생된다. 비활성화 가능하다. => @Autowired(required=false) 타입(type)으로 찾아서 주입하기 때문에 만약 동일한 타입이 여러개인 경우에는 NoUniqueBeanDefinitionException 발생된다. 💡 NoUniqueBeanDefinitionException 해결방법 @Autowired @Qualifier(value=”id값”) 타입이 여..
Bean Scope
·
Framework/SPRING FRAMEWORK
1. 기본적으로 컨테이너에 한 개의 빈 객체를 생성하여 재사용된다.( per Container ) 2. 빈의 스코프(scope)를 설정할 수 있는 방법을 제공한다. 3. 태그의 scope 속성을 사용한다. 📌 scope 설정 가능한 값 scope=”singleton” (기본) ⇒ 빈을 한번만 생성하고 재사용함 ⇒ 필요시 getBean()할 때 이전에 생성된 빈을 반환 ⇒ 따라서 하나의 빈으로 재사용한다. ⇒ 여러 사용자가 하나의 빈을 공유해서 사용하게 된다. scope=”prototype” ⇒ 빈을 매번 생성 ⇒ 필요시 getBean()할 때 새롭게 객체생성해서 빈을 반환 ⇒ 여러 사용자가 빈을 공유 불가 ⇒ 자신만의 특정 데이터를 관..
자바의 싱글톤패턴 구현
·
Framework/SPRING FRAMEWORK
1️⃣ 생성자를 private으로 지정한다. 2️⃣ 자기자신의 메서드에서 생성한다. 3️⃣ static 변수로 지정한다.
TestMain이 아닌 일반클래스(빈, UserService)에서 사용하는 방법
·
Framework/SPRING FRAMEWORK
UserService implements MessageSourceAware @Override (추상메서드) public void setMessageSource(MessageSource xxx){ String mesg = xxx.getMessage(”greeting”, ~~~); } 재정의하면 자동으로 setMessageSource메서드의 파라미터로 MessageSource(ApplicationContext)가 자동으로 주입된다. 💡 You can also use the MessageSourceAware interface to acquire a reference to any MessageSource that has been defined. Any bean that is defined in an Applic..
I18N - 국제화(지역화)
·
Framework/SPRING FRAMEWORK
InternationalizatioN https://docs.spring.io/spring-framework/docs/5.2.25.RELEASE/spring-framework-reference/core.html#context-functionality-messagesource Core Technologies In the preceding scenario, using @Autowired works well and provides the desired modularity, but determining exactly where the autowired bean definitions are declared is still somewhat ambiguous. For example, as a developer loo..
스프링에서 jdbc.properties 내용 불러오기
·
Framework/SPRING FRAMEWORK
Mybatis 할 때 jdbc.properties에 4가지 정보 설정하고 Configuration.xml에 불러와서 사용했음 1️⃣ com.config 폴더 아래에 jdbc.properties 파일 작성 2️⃣ user.xml 등록 1) PropertyPlaceholderConfigurer 2) context namespace ⭐⭐⭐ //context추가 필요 xmlns:context="http://www.springframework.org/schema/context" //스키마Loaction 추가 필요 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/sprin..
profile
·
Framework/SPRING FRAMEWORK
개발시 환경을 다르게 구축한다. ( developement 환경 / production 환경 ) 💻 dev 결과 💻 prod 결과
xoo | 수진