解决SpringBoot @value注解取不到值的问题

网友投稿 253 2022-12-30

解决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 skills;

private Map address;

//省略getter和setter方法

}

3.错误的方法

xshqVX

@RestController

public class StudentController {

@RequestMhttp://apping("/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表达式

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:idea中如何创建scala项目
下一篇:JDK集合源码之解析TreeMap(一)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~