springboot怎么嵌套子类
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了springboot怎么嵌套子类的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot怎么嵌套子类文章都会有所收获,下面我们一起来看看吧。s
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
互联网科技活动banner
互联网科技保险
互联网属科技
鸠鸠互联网科技
易互联网科技有限公司
互联网科技公司发展
华宇互联网科技
贷财互联网科技
深圳齐家互联网科技
上海致骋互联网科技
沃里互联网科技
互联网 科技服务平台
互联网科技项目计划书材料类
移动互联网年度科技创新
用友工业互联网科技发展
互联网领先科技宣传片
富国互联网金融科技混合基金
有人说阿里系是互联网科技企业
万物互联网智能科技
第三届互联网大会安防黑科技
有格互联网科技
厦门中拓互联网络科技有限公司
菲比寻常互联网科技
互联网科技类展会
苏州铭阳互联网科技有限公司
上海京穆互联网科技有限公司
卡尔迅互联网科技有限公司
互联网与数字科技关系
美国五大互联网科技公司市值多少
广州全民伙伴互联网科技有限公司