数据无法取出?项目启动连接成功但是取不出数据?不知道的get方法竟然还有这种作用???

在我所认知的get方法一般都是在属性被设置成只读的时候所需要使用的,一般都默认需要但是不知道其他用处,然后测试的时候我就没去写get方法,导致了如下错误:

我的User类

public class User {
    private Integer uid;
    private String username;
    private String password;
    private Integer age;

    public  User(){

    }

    public User(Integer uid,String username,String password,Integer age){
        this.uid = uid;
        this.username = username;
        this.password = password;
        this.age = age;
    }

我的模拟数据

@GetMapping("/findAll")
    public BaseResult findAll(){
       //模拟所有数据
        ArrayList<User> list = new ArrayList<>();
        list.add(new User(1,"张三","1111",12));
        list.add(new User(2,"李四","2222",15));
        list.add(new User(3,"王五","3333",10));
        list.add(new User(4,"赵六","4444",18));
        //封装一个返回数据
        return BaseResult.ok("查询成功",list);
    }

我的测试内容

@Test
    public void findAll(){
        //创建客户端
        CloseableHttpClient httpClient = HttpClients.createDefault();
        CloseableHttpResponse response = null;
        //创建get请求
        HttpGet httpGet = new HttpGet("http://localhost:9090/user/findAll");
        try {
            //发送请求获取响应
            response = httpClient.execute(httpGet);
            //获取状态码
            if (response.getStatusLine().getStatusCode() == 200){
                //获取响应
                String s = EntityUtils.toString(response.getEntity());
                System.out.println(s);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            //释放资源
            try {
                response.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                httpClient.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

一开始我认为这是一个没有什么问题的测试,结果首先给我报了两个错误:

前面太多了,这里是因为序列化接口没实现

在这里插入图片描述

这个过,在我实现了序列化接口之后

在这里插入图片描述
在这里插入图片描述

这个错误并没有消失!!!

这个时候我就开始完善我的User了,直到后来我添加了Get方法(我使用的是lombok插件)

在这里插入图片描述

这下竟然就直接可以查出来了???

在这里插入图片描述

难道是在编译期间程序会自动调用属性的Get方法去实现数据的存储还是通过Get方法得到数据的显示???

接下来我又那我之前的测试项目去试了一下:

如下是属性中拥有get方法的数据体现:

在这里插入图片描述

如下是我删除了get方法之后的数据体现:

在这里插入图片描述

总结!!!

数据调用在编译期间是通过Get方法来返回数据的,如果没有Get方法,那数据是返回不出来的!!!

发布了37 篇原创文章 · 获赞 19 · 访问量 3747

猜你喜欢

转载自blog.csdn.net/Ryan_black/article/details/103382132
今日推荐