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)
欢迎大家加群 进行讨论 qq群:714398799

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值