SpEL - 리소스 번들
·
Framework/SPRING FRAMEWORK
📌 p:name = "#{번들의id값['key']}" 1. SpEL용 리소스번들 등록은 util namespace 이용해야한다. 2. properties 파일은 iso-8859-1인 기본 인코딩을 사용해야 된다. 💻 "#{ }" => 오류 발생 ✅ Cat.java - 두 개의 변수를 작성한다. - 생성자, getter/setter, toString을 작성한다. ✅ application.properties ✅ user.xml - 을 작성한다. - 알고있는 문법대로 #{ } 을 사용해보자. ✅ TestMain.java 출력해보자 결과 오류 발생 👇👇👇 ✅ user.xml SpEL용 리소스번들 등록은 util namespace을 이용해야 한다. util namespace를 이용하기 위해 util을 체크해준다...
SpEL - static 메서드 호출
·
Framework/SPRING FRAMEWORK
📌 value="#{T(패키지명포함한클래스명).메서드( )}" ✅ static 메서드를 작성한다. ✅ value = "#{ T(com.dto.Person).static메서드( ) }" 을 사용해 static 메서드를 참조한다. ✅ p1을 출력해보자 결과 참조된 static메서드의 값이 출력된다.
SpEL - 인스턴스 메서드 호출(2)
·
Framework/SPRING FRAMEWORK
✅ Person(p1)의 xxx메서드 참조 ✅ 임의의 인스턴스 메서드에서 null을 리턴하면 ✅ 에러 발생 💡 해결 .메서드() 앞에 ? 을 붙여준다. ✅ null이 출력된다.
SpEL - 인스턴스 메서드 호출
·
Framework/SPRING FRAMEWORK
✅ Person.java 에 임의의 인스턴스 메서드를 작성한다. ✅ user.xml 에 value = "#{ id값.메서드이름( ) }" ✅ TestMain.java p1을 출력해보자 결과 인스턴스메서드가 참조되어 출력된다. ✅ 여러 개의 메서드를 연속으로도 참조 가능하다. 결과
SpEL - 다른 빈 참조
·
Framework/SPRING FRAMEWORK
📌 다른 빈을 참조할 때도 ref가 아닌 value를 사용한다. ✅ user.xml SpEL을 이용해 다른 빈을 참조한다. value = "#{id값.name}" ✅ TestMain.java p2를 출력해보자 ✅ 참조한 p1의 값들이 잘 나온다
SpEL - ref 대신 value
·
Framework/SPRING FRAMEWORK
📌 빈, 프라퍼티, 메서드 참조 시 => ref가 아닌 value를 쓴다. ✅ Cat.java - 2개의 변수 작성 - 생성자, getter/setter, toString 작성 ✅ Person.java - 두 개의 변수 작성 - settter, toString작성 ✅ user.xml SpEL 문법으로 다른 빈을 참조 value = "#{ }" 결과
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”) 결과
xoo | 수진