业务背景:使用aop读写分离的时候,dao开启事务,导致在mapper中切换数据源不起作用,所以只能在dao方法中切换数据源, 为避免存在读方法中的存在写数据库的逻辑,检索下java 类中的方法是否同时存在读写数据库的行为, 思路: 使用python中的ast语法树来分析 import os import javalang from javalang.tree import MethodInvocation, MethodDeclaration def readJva(path): # 包名 full_content='' with open(path, 'r',encoding='utf-8') as f: while True: fragment = f.readline() if not fragment: # 如果fragment为空的时候,此处就为真,执行break语句 break else: # if not fragment.strip().startswith("//"): full_content += fragment tree = javalang.parse.parse(full_content) # print(tree.package.name) # print("######################################") # # 成员变量 # print("成员变量:") # for f in tree.types[0].fields: # declare = '' # # 声明变量修饰符
python使用javalang检索代码
最新推荐文章于 2024-03-20 16:58:48 发布