리소스파일:.properties로 끝나는 파일로 스프링 프레임웍에서 자원으로 사용하는 파일
키=값의 쌍으로 자원(상수)을 등록한다.
주석처리는 #으로
리소스 파일은 이클립스의 classpath인
src폴더 밑 어디에든 위치하면 된다.
(생성시 new->File로 생성.확장자는 .properties 로)
resource08 > Resource.jsp
<a href="<c:url value="/Resource/Resource.do" />" class="btn btn-info">리소스 사용하기</a>
<ul class="list-unstyled">
<li>빈 설정파일에서 \${}로 읽어온 경우 :${xml}</li>
<li>자바파일(.java)에서 @Value로 읽어온 경우 :${java}</li>
</ul>
[리소스파일(.properties)에 등록한 키값 사용하기]
빈 설정파일(XML)에서는 EL표현식 사용해서 읽을 수 있고
자바소스에서는 @Value어노를 사용해서 읽을 수 있다.
근데!!!!!! EL사용 시 빈 공간 있으면 안됨!!
1.src밑에 파일명 .properties파일 생성, 파일명은 내맴
2.빈으로 등록하거나 <context:property-placeholder />태그를 등록
location 속성을 통해서 리소스파일 위치를 설정해 준다.
(만약 빈으로 등록 했다면 주입할 때 setter로 생성하면됨)
서블릿컨텍스트
context 접두어 사용(리소스파일 여러개면 , 로 구분해서 나열)
classpath: 이건 규칙임
어디폴더.파일 (이동경로 쓰는 법 잘 보기)
<context:property-placeholder
location="classpath:rescs.properties,
classpath:sub/rescs.properties,
classpath:config/database.properties"/>
location이 설정한 곳에다가 리소스파일을 저장 해 두자
src/main/resources > rescs.properties
#rescs.properties
#Comment is sharp
#key=value
#Not use username key, beacause username key is system user
user = PARK
password=1234
src/main/resources > sub > rescs.properties
name=\uBC15\uAE38\uB3D9
** properties 파일에서 한글은 저렇게 알아서 변경 됨 저거 박길동임
저 설정해 놓은 리소스들을 담기 위한 커맨드 객체를 생성하자
UserCommand.java
public class UserCommand {
//.properties파일의 키와 클래스의 속성을 일치시키자 가.급.적.이면
private String name;
private String username;
private String password;
+게터/셋터 는 생략
@Override
public String toString() {
return String.format("[이름:%s, 아이디:%s, 비번:%s]",name,username,password);
}
}
이렇게만 두면
프로그램이 말을 못알아 먹으니
만들어 놓은 두개를 연결 해야 겠지! (빈으로 연결)
서블릿컨텍스트
(빈에 class=" 패키지전체경로.클래스명 " 이거 경로 좀 잘 익히자!!!! 쫌 !!!!)
<!-- 리소스파일에 있는 값으로 커맨드 객체 설정 -->
<beans:bean p:name="${name}" p:username="${user}" p:password="${password}"
class="com.kosmo.springapp.basic.resource.UserCommand" />
ResourceController.java 이번엔 다 연결하고 등록하고나서 컨트롤러를만듦.
1.확장자가 .properties인 리소스파일 src/main/resource 에 생성
(하위 폴더생성 시는 new -> package로 생성)
2.servlet-contecxt.xml파일에 <context:property-placeholde> 등록 되어 있어야 함!!
3. 클래스에서 사용 시에는 @Value어노테이션 사용
@Controller("resourcePropertyController")
public class ResourceController {
//빈 설정파일에서 리소스 파일의 자원을 ${키}로 설정한 빈 객체
@Autowired
private UserCommand command;
자바파일에서 @Value어노테이션으로 리소스 파일의 자원을 읽어오기
사용 예
@Value("${키값}")
private 자료형 변수;
@Value("${name}")
private String name;
@Value("${user}")
private String username;
@Value("${password}")
private String password;
@RequestMapping("/Resource/Resource.do")
public String exec(Model model) {
//데이터저장
model.addAttribute("xml",command);
model.addAttribute("java",String.format("[이름:%s, 아이디:%s, 비번:%s]",name,username,password));
//뷰정보 반환
return "resource08/Resource";
}
}
뒤에 리소스파일을
리소스파일의 키를 동일하게 했더니
뒤에데이터가 출력된다....
하놔 이건 어떻게 해야 하나..... 내일 질문해 봐야겠다....
'학원 > SPRING' 카테고리의 다른 글
12/12 62-4 [SPRING] 게시판만들기 3 (환경설정-mybatis개념) (0) | 2022.12.13 |
---|---|
12/12 62-3 [SPRING] Validation(내용변경) (0) | 2022.12.12 |
12/12 62-1 [SPRING] 오라클 연결하기(Database) (0) | 2022.12.12 |
12/09 61-4 [SPRING] @ResponseBody/@RequestBody/@RequestHeader (0) | 2022.12.10 |
12/09 61-3 [SPRING] @SessionAttribute (1) | 2022.12.10 |