spring boot 实体类的属性不导入set方法报的错误

本文讨论了在SpringBoot中,实体类属性缺少set方法导致EL1008E错误的原因和解决方法。问题源于JavaBean规范,其中属性通常需要setter方法以供框架正常操作。解决方案包括添加缺失的setter或者检查属性的访问权限。

spring boot 实体类的属性不导入set方法报的错误
EL1008E: Property or field ‘providers’ cannot be found on object of type ‘com.haochen.sm.pojo.Account’ - maybe not public or not valid?

Spring Boot中传递实体类文件,有多种常见的方法,以下为你详细介绍: ### 通过系统属性传递JSON 可以将实体类对象序列化为JSON字符串,再通过系统属性传递。首先创建一个主类用于启动Spring Boot应用,示例代码如下: ```java package com.logicbig.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ExampleMain { public static void main(String[] args) { SpringApplication.run(ExampleMain.class, args); } } ``` 在实际使用时,可将实体类对象转换为JSON字符串,然后通过命令行参数或系统属性传递。在Spring Boot应用中接收并反序列化该JSON字符串得到实体类对象。通常使用Jackson库来处理JSON数据的序列化和反序列化,因为JSON是存储和交换文本信息的语法,在Spring Boot里常借助Jackson库完成此工作,在TCP/IP网络传输中,JSON字符串会被转换为字节流进行传输 [^1][^3]。 ### 使用RabbitMQ传递实体类 若使用RabbitMQ传递实体类,为避免Java对象能反序列化而抛异常,需进行相关配置。配置示例如下: ```java @Configuration public class RabbitConfig { @Bean public RabbitAdmin rabbitTemplate(ConnectionFactory connectionFactory) { return new RabbitAdmin(connectionFactory); } @Bean public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory, MessageConverter messageConverter) { RabbitTemplate template = new RabbitTemplate(connectionFactory); template.setMessageConverter(messageConverter); return template; } @Bean public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(ConnectionFactory connectionFactory, MessageConverter messageConverter) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); factory.setConnectionFactory(connectionFactory); factory.setMessageConverter(messageConverter); return factory; } @Bean public MessageConverter messageConverter() { return new ContentTypeDelegatingMessageConverter(new Jackson2JsonMessageConverter()); } } ``` 通过上述配置,可在RabbitMQ中传递实体类,消息转换器会将实体类对象序列化为JSON格式进行传输,接收端再将其反序列化得到实体类对象 [^2]。 ### 通过HTTP请求传递实体类Spring Boot的Controller中,可通过HTTP请求传递实体类。示例代码如下: ```java import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @RestController public class MyController { @PostMapping("/saveEntity") public String saveEntity(@RequestBody MyEntity entity) { // 处理接收到的实体类对象 return "Entity saved successfully"; } } class MyEntity { private String name; private int age; // Getters and Setters public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ``` 客户端可发送包含实体类JSON数据的POST请求,Spring Boot会自动将JSON数据反序列化为实体类对象 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值