SpringBoot@value 주석 에서 값 을 찾 을 수 없 는 문 제 를 해결 합 니 다.

질문
1.src/main/resources 에서 stu.properties 파일 만 들 기

##
student.name=Tom
student.age=22
student.birthday=1996/01/10
student.sex=true
student.hobbies[0]=swimming
student.hobbies[1]=basketball
student.skills[0]=programming
student.skills[1]=test
student.address.province=henan
student.address.city=zhengzhou
2.실체 클래스 만 들 기

package com.fcy.entity;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@PropertySource({"classpath:stu.properties"})
public class Student {
  @Value("${student.name}")
  private String name;
  @Value("${student.age}")
  private int age;
  @Value("${student.sex}")
  private boolean sex;
  @Value("${student.birthday}")
  private Date birthday;
  private String[] hobbies;
  private List<String> skills;
  private Map<String, Object> address;
 //  getter setter  
}
3.잘못된 방법

@RestController
public class StudentController {
 @RequestMapping("/getStu")
 public Student getStu() {
  Student stu=new Student();
  System.out.println(stu);
  return stu;
 }
}
4.효 과 는 그림 과 같다.
在这里插入图片描述
5.정확 한 방법 은
在这里插入图片描述
요약:
위의 방법 에서 알 수 있 듯 이 첫 번 째 방법 은 값 을 얻 지 못 한 것 은 springapplication 용기 에서 student 의 bean 을 얻 지 못 했 기 때 문 입 니 다.실체 류 에@comment 주 해 를 붙 였 기 때 문 입 니 다.이 주 해 는 student 을 하나의 bean 으로 만들어 야 읽 을 수 있 습 니 다.new 대상 을 호출 할 수 없습니다.
SpringBoot@Value 주석 설정 기본 값
기본 값 설정:

SpEL 표현 식 에 부합
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기