SpringBoot @value註解取不到值的問題

##關於@value的springapplication容器的問題
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掃描不到controller請點擊鏈接,如果你感覺解決方式可以的話,請點個贊。(https://blog.csdn.net/qq_42274641/article/details/83063350)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章