springboot怎么嵌套子类
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章主要介绍了springboot怎么嵌套子类的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot怎么嵌套子类文章都会有所收获,下面我们一起来看看吧。s
千家信息网最后更新 2025年11月14日springboot怎么嵌套子类
这篇文章主要介绍了springboot怎么嵌套子类的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot怎么嵌套子类文章都会有所收获,下面我们一起来看看吧。
springboot嵌套子类使用
在实际项目里,我们会使用到一个User用户含有子类Address、这种嵌套子类在开发中会遇到很多问题,现在主要针对前台和后台的开发问题进行整理。
实际Bean类
User类里含有Address类
public class User { private int userId; private String userName; private Address userAddress;}public class Address { private int addressId; private String city;//忽略get、set方法}UserMapper.java 对于一对一
使用@Result注解,调用查询子类数据。
public interface UserMapper{ //one to one @Select("select * from user where userId = #{userId}") @Results({ @Result(id=true,column="userId",property="userId"), @Result(column="userName",property="userName"),@Result(column="userId",property="userAddress",one=@One(select="com.whale.mapper.AddressMapper.getAddressByUserId",fetchType= FetchType.EAGER))})public interface AddressMapper { @Select("select * from address where userId=#{userId}") public Address getAddressByUserId(int userId);}前台使用bootstrap-table进行解析显示
在formmater里进行子类显示
columns: [{ checkbox : true }, { field: 'userId', title: '用户ID' }, { field: 'userName', title: '用户姓名' }, { field: 'userAddress', title: '地址', formatter : function(value,row, index){ //主要配置在这里 return value.city; } } ]后台Controller转换成Json会出现 $ref
解决办法如下:
注意:
String jsonSting=JSON.toJSONString(result, SerializerFeature.DisableCircularReferenceDetect);
结果中出现$ref,先把JSONObject转换成String,然后再转换回JSONObject
@ResponseBody @RequestMapping("allUser") public String findALL(){ PageHelper.startPage(pageNumber,pageSize); List userList= userService.findAll(); PageInfo page=new PageInfo<>(userList); //取出查询结果 List rows = page.getList(); JSONObject result = new JSONObject(); int total = (int) page.getTotal(); result.put("total",total); result.put("rows",rows); String jsonSting=JSON.toJSONString(result, SerializerFeature.DisableCircularReferenceDetect); //结果中出现$ref,先把JSONObject转换成String,然后再转换回JSONObject JSONObject json= JSON.parseObject(jsonSting); System.out.println(json.toJSONString());} 注解在嵌套方法不生效问题
例如在service中方法如下
@PermissionAop @Override public ListgetList() { List list = this.list(); return list; } @Override public void test(){ this.getList(); System.out.println(""); }
controller中调用test()方法,test方法中调用切面方法,切面不生效,无法进入切面。
使用如下方式可解决该问题(启动类上需要添加
@EnableAspectJAutoProxy(exposeProxy = true))
@PermissionAop @Override public ListgetList() { List list = this.list(); return list; } @Override public void test(){ IPoiPermissionService service = (IPoiPermissionService) AopContext.currentProxy(); service.getList(); System.out.println(""); }
其中IPoiPermissionService为该service类实现的接口。
关于"springboot怎么嵌套子类"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"springboot怎么嵌套子类"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
子类
方法
问题
切面
用户
知识
结果
内容
前台
后台
实际
注解
篇文章
开发
查询
一对一
中方
价值
办法
地址
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
象棋连线软件开发
服务器必须先安装驱动吗
网络安全宣传周展览
排超数据库
陕西专业网络技术服务咨询报价
长宁区市场软件开发服务要求
网络安全防护系统公司
服务器授权使用天数已满
机器人软件开发公共平台包括
问道开服必须要用云服务器吗
java服务器post
软件开发秋招流程
wps表格里 取数据库
服务器管理器配置bat
南京ios软件开发
数据库技术与应用 王成良
合肥app软件开发多少钱
百卓网络技术华为
建立数据库的目的是实现共享数据
关系型数据库不可再分
医联体网络技术
数据库合并排名
arcgis钻孔数据库
倩女幽魂手游辛夷坞服务器
数据库sql声明变量
文件地理数据库和企业地理数据库
你我贷还款服务器异常
我的世界minez服务器锤子
java开源cms 数据库
服务器远程打游戏的远程桌面