SpEL ( Spring Framework Expression Language )
·
Framework/SPRING FRAMEWORK
https://docs.spring.io/spring-framework/docs/5.2.25.RELEASE/spring-framework-reference/core.html#expressions-beandef 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 looking at ServiceConfig, how do docs.sp..
@Value - 리소스 번들
·
Framework/SPRING FRAMEWORK
✅ com/config/application.properties ✅ 오른쪽버튼 클릭 -> properties -> UTF-8 로 변경해준다. ✅ user.xml 작성한다. ✅ Cat.java @Value(value="${cat.username}") @Value(value="${cat.age}") ✅ user.xml 한글이 깨지기 때문에 추가로 작성한다. 결과
@Value
·
Framework/SPRING FRAMEWORK
특정 값을 주입해야 되는 용도이다. 대표적인 용도는 자바코드 외부의 리소스나 환경정보 설정값을 사용하는 경우이다. 문법: @Value(value=”값”) String username; 리소스번들에서 값을 가져와서 @Value에 설정하는 작업이 일반적임 jdbc.properties 파일 jdbc.userid=aaa 빈 파일 @Value(value=”${jdbc.userid}”) String userid; user.xml 파일 💻 @Value로 값을 저장
@Resource
·
Framework/SPRING FRAMEWORK
byName 이용 javax.annotation.Resource ( 스프링 라이브러리가 아님 ) 기능: 빈의 타입(type)이 아닌 빈의 이름(name, id)으로 자동으로 주입된다. @Autowired @Qualifier(value=”id값”) 와 동일 문법: @Resource(name = “cat2”) // id=”cat2” 인 빈이 주입된다. Cat cat; ✅ Cat.java ✅ Person.java ✅ user.xml ✅ TestMain.java ✅ @Resource(name = “cat1”) 결과
@Autowired - NoSuchBeanDefinitionException
·
Framework/SPRING FRAMEWORK
💻 빈 없는 경우 => NoSuchBeanDefinitionException 주입해야되는 빈은 반드시 존재해야 한다. 없으면 NoSuchBeanDefinitionException 발생된다. 비활성화 가능하다. @Autowired(required=false) ✅ UserDAO dao 변수는 있는데 등록된 UserDAO 빈이 없다. ✅ 주입해야 되는 빈이 없기 때문에 NoSuchBeanDefinitionException 발생한다. 👇👇👇 💻 해결 => @Autowired(required=false) ✅ (required=false)를 줌으로써 옵션으로 바뀌게 된다. => NullPointerException 으로 바뀐다.
xoo | 수진
xoo의 성장기록