2019-11-04 09:48
@JFinal updateStockInOrderToDelete方法从private改成public后可以注入Tx拦截器
2019-11-02 12:07
@JFinal 业务层的拦截器的触发条件是不是说,先在业务层使用@before方法注入拦截器,然后再controller控制层使用@Inject注入,并且控制层必须要有 service.方法名 调用这个方法,这个方法的拦截器才会被触发。
如果这个业务层的方法,是被业务层的其他方法调用的,那么这个方法的拦截器就无法触发。
2019-11-01 08:57
@JFinal forceToComplete这个方法在controller,updateStockInOrderToDelete这个方法在Service业务层,不是controller里面的方法,不clear的话,异常情况数据库没有插入数据,说明事务是开启的,Config中已经配置了me.setInjectDependency(true)。
2019-09-20 14:45
工具类PropertiesUtil
import com.jfinal.kit.PathKit;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
/**
* @Date: 2019-09-20 14:59
* @Version v1.0.0
*/
public class PropertiesUtil {
public static final String FILE_NAME = "api.properties";
/**
* 循环所有key value
*/
public static Map list(Properties p) {
Map propertiesMap = new HashMap<>();
Enumeration en = p.propertyNames(); //得到配置文件的名字
while(en.hasMoreElements()) {
String strKey = (String) en.nextElement();
String strValue = p.getProperty(strKey);
propertiesMap.put(strKey,strValue);
}
return propertiesMap;
}
/**
* 通过key删除value
* @param key
*/
public static void delete(Properties p,String key) {
p.remove(key);
fileupdate(p);
}
/**
* 修改或者新增key
* @param key
* @param value
*/
public static void update(Properties p,String key, String value) {
p.setProperty(key, value);
fileupdate(p);
}
public static void fileupdate(Properties p){
FileOutputStream oFile = null;
try {
oFile = new FileOutputStream(PathKit.getRootClassPath()+ File.separator + FILE_NAME);
p.store(oFile, "");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
oFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}