Spring Boot初学:实体类上用@configuration和@component的影响

    技术2022-07-12  69

    实体类用@configuration和@component的影响

    首先自定义配置文件stu.properties然后创建对应的实体类StuBean最后在控制层注入,方法中返回运行结果修改实体类上的注解为@configuration这次debug一下,看下控制层中的实体对象运行访问会发现报错了。。。。。控制台报这个序列化的错误解决总结

    初学spring boot 做了一个自定义配置文件,定义实体类,控制层返回实体对象的简单例子,但是遇到了不能把实体对象返回的情况,后面百度,找了好久,终于解决,所以来记录一下。

    首先自定义配置文件stu.properties

    然后创建对应的实体类StuBean

    最后在控制层注入,方法中返回

    运行结果

    这里非常顺利的显示了,但是重点是当类上用@configuration注解时,会出现什么情况呢?

    修改实体类上的注解为@configuration

    这次debug一下,看下控制层中的实体对象

    可以看到我们明明只定义了4个属性,可是出现好多CGLIB开头的属性,这些是和spring的代理有关(具体的我也不清楚,欢迎小伙伴留言指点哈)

    运行访问会发现报错了。。。。。

    控制台报这个序列化的错误

    解决

    看了很多类似博客,都是重新new一个实体对象,重新设值,然后就可以返回成功了,好像是因为Spring容器在管理注入实体类的时候,创建的是代理类,所以debug的时候出现了CGLIB开头的代理属性,然后以json格式返回的时候就报错了,重新new的话,是为了规避这个代理类。 返回成功了

    总结

    我也刚认真学spring boot没几天,真的很想学好这门框架,希望看到的大佬可以留言分享一下学习方法,还有说错的地方,欢迎指正批评。

    Processed: 0.017, SQL: 9