关于强转
(CrcWorkExperienceAfter)obj;
(List<CrcWorkExperienceAfter>)businessDatas
log.info(Json.toJsonString(list));于sout() 的区别, log.info(可以打印当前所在 的是哪个类 打印的log)
设置类头注释--方法一 在File and Code Template点击file header进行设置
/**
*
* @author wangxl
* @date ${YEAR}-${MONTH}-${DAY}
*/
设置类头注释--方法二 在File and Code Template --Files-选择Class设置
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
/**
* @Author: wangxinle5
* @Description:
* @Date: ${YEAR}/${MONTH}/${DAY}/${HOUR}:${MINUTE}
*/
public class ${NAME} {
}
controller方法注释,在 live template设置
/**
* @Author: wangxinle5
* @Description:
* @Date: $date$ $time$
* @Param: $params$
* @return: $returns$
*/
设置service接口注释,使用默认的快捷键 /**回车即可, 输入说明信息即可
String t = "a||b||c||d";
String[] temp = t.split("\\|\\|");
System.out.println(temp.length);
1.eclipse使用指南,将项目1 和 项目2 放到 不同的文件夹下,
从代码仓库下载到 project1 project2文件夹下, 打开eclipse,导入settings.epf文件
2.关于匿名内部类:在升级替换class文件时候,
要连同同名的class的匿名内部类的class也要生成,即 同名且含有&符号的 .class文件 都要复制替换
IntelliJ IDEA 热部署,修改java文件JS文件 不用重启tomcat,设置tomcat如下:
on ‘update‘ action:当用户主动执行更新的时候更新 快捷键:Ctrl + F9 手动加载新代码的.class文件
on frame deactication:在编辑窗口失去焦点的时候更新
你可以根据自己的需求进行设置,我这里两个都有设置。 这里设置以后,修改sql必须重启 而class修改不用重启, 如果电脑比较卡, 就不要在这里设置了市区焦点更新class文件, 你可以手动去点击 idea菜单栏的 锤子 按钮来 重新编译代码
idea之web项目添加tomcat并启动:
1.Facets--->点击加好,选择web,添加web(kl)
2.Web Application Explored from module选择客流kl项目
3.此步是不需要的 modules--->点击Dependencies添加tomcat的依赖(servlet-api和jsp-api)
如果想修改mapper.xml里的sql也不用重启就生效的话,下载JRebel插件可以实现 你上一次是jrebel的debug模式启动的,那么下一次左下角就是jrebel debug,而不是默认的tomcat debug了
//采用简单类名格式记录日志
package example;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class HelloWorld {
public static Log log = LogFactory.getLog(HelloWorld.class);
public static void main(String[] argv) {
String test="sdibt";
log.info("this is info:"+test);
log.error("this is error:"+test);
log.debug("this is debug:"+test);
}
}
日志信息中已经给出了类名,根据类名及打印信息可以直接查找到所在的代码
格式: 时间 info 包名.类型 打印日志所在行数, 打印日志信息
2018-05-10 10:46:29,566 INFO [example.HelloWorld]:10 - this is info:sdibt
2018-05-10 10:46:29,566 ERROR [example.HelloWorld]:11 - this is error:sdibt
2018-05-10 10:46:29,566 DEBUG [example.HelloWorld]:12 - this is debug:sdibt
Process finished with exit code 0
logger.error("", e);
ERROR CounterDelayAlarmJob getCounterDelayTime error!
com.datangmobile.op.uf.dao.DAOException: fail to execute : from CustomOptionProp a where a.propName='PMData_DelayTime'; nested exception is java.lang.NullPointerException
at com.datangmobile.op.uf.dao.BaseDAOImpl.queryJQL(BaseDAOImpl.java:373) [uf-midware.jar!/:na]
明确一点: 后台抛出异常,那么后续的代码都不会被执行
Java Exception 捕获和展示 使用 e.getMessage()
e.getMessage(); 只会获得具体的异常名称. 比如说NullPoint 空指针,就告诉你说是空指针... e.printStackTrace();会打出详细异常,异常名称,出错位置,便于调试用..
e.printStackTrace();会打出详细异常,异常名称,出错位置,便于调试用..
catch (Exception e) {
e.printStackTrace();
String message = e.getMessage();
return Msg.fail().add(message.substring(0, message.indexOf("\r\n")));
设置后可以在console控制台进行搜索
新建一个对象封装入参 PassengerFlowData(因为不同的controller方法 有可能输入相同的参数,就可以复用该入参对象了)
转义字符的使用
var buttonContent = "<td><a οnclick='saveMapping(\"" + userList[i].userId
+ "\",\"1\")'>"+lang_save+"</a>
-- 给site_all_info添加主键列
select * from a left join b on (a,b的连接条件)left join c on(a,b形成的临时中间表和c的连接条件)
long start = System.currentTimeMillis();
long end = System.currentTimeMillis();
System.out.println("Run Time:" +(end - start));//打印一行代码的运行时间,返回ms值
需要明确的地方一点: 用对象接查不到返回null,用list接查不到返回size为0的list
if (!"[]".equals(result)) //如果返回对象,非空判断是否为空list,不是空的list再parseArray
遍历list刷新其中实体类的值,返回原来的list就可以 (当然最好还是在get方法里,将两个成员变量通过计算赋值效率更高)
缩进提示的竖线不见了,怎么找回
返回controller的@responseBody返回list直接.length属性
settings搜索paste(indent设置为none),将光标定位在最左侧,然后再粘贴navicat格式化好的sql,最后选中sql点击tab键右移
.gitignore文件忽略版本控制失败?
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修
改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
输入:如下2行即可
$ git rm --cached /.idea
git commit -m "We really don't want Git to track this anymore!"
git commit -m “remove xx”
来解释下几个参数 -r 是删除文件夹及其子目录 –cached 是删除暂存区里的文件而不删除工作区里的文件
将target文件夹不纳入版本控制,可以用git 或svn 的Tortoise
递归的recursively
取消mybatissql警告
idea在左侧的project目录中 看不到项目的文件结构图 只能看到几个idea自己生成的文件
1. 关闭IDEA,
2.然后删除项目文件夹下的.idea文件夹
3.重新用IDEA工具打开项目
IntelliJ IDEA隐藏不想看到的文件或文件夹
打开IntelliJ IDEA,File -> Settings -> Editor -> File Types
打成war包的输出路径,写成这样,点击加号 选择 Web Application: Archive 输出到target目录下 (即为war包存放位置)
Artifacts 项目的打包部署设置(选择如下框,点击确定) 注意打包前先更新下代码
最好不要将target目录隐藏,方便从idea的这个目录下粘贴
ctrl+h直接在下面进行修改,不用点进页面(当然最快的还是全局替换 replace in path 快捷键ctrl+shift+h)
SVN不能提交代码怎么解决?
看看你的svn项目库是不是受控的,如果没有受控,先把checkout下来的文件夹add即可
右键文件夹TortoiseSVN点击 clean up(clean up是清除锁定的意思)(一般需要去顶层目录去清理)可以使锁定的不能更新的文件夹解锁,里面的word就可以正常更新了
出现锁定的原因:SVN 本地更新时,由于一些操作中断更新,如磁盘空间不够,可能会造成本地文件被锁定的情况
如上图标注红圈所示,为工具栏上版本控制操作按钮,基本上大家也都是使用这里进行操作。
第一个按钮:Update Project 更新项目。
第二个按钮:Commit changes 提交项目上所有变化文件。点击这个按钮不会立马提交所有文件,而是先弹出一个被修改文件的一个汇总框,具体操作下面会有图片进行专门介绍。
第三个按钮:Compare with the Same Repository Version 当前文件与服务器上该文件通版本的内容进行比较。如果当前编辑的文件没有修改,则是灰色不可点击。
第四个按钮:Show history 显示当前文件的历史记录。
第五个按钮:Revert 还原当前被修改的文件到未被修改的版本状态下。如果当前编辑的文件没有修改,则是灰色不可点击。
idea里右键历史版本 点击get,和revert一样
获取内容,只是取出该版本的内容放在本地文件中,本地文件的当前版本号不会改变。
获取修订版,不仅会取出该版本的内容,连本地文件的版本号也会更改为对应的版本号。
蓝色字体的类是没有提交 Intellij IDEA svn的使用记录 http://blog.csdn.net/liyantianmin/article/details/52837506
File -> Setting -> Editor -> General -> Code Completion -> Parameter Info下 时间修改为500。new Resp(500ms后参数是弹出来的);
新建的java文件夹是source folder(蓝色),而resources文件夹是resources folder(右下角是四个黄色段杠)
import module可以像eclipse一样,显示多个项目
添加tomcat(注意选择的是local的tomcat),改端口号,绑定谷歌浏览器.你启动浏览器,会自动访问index.jsp
如果在maven里放一个坐标,你可以点击右侧隐藏栏里的update,其实,右下角会自动提示你import你引入的坐标包
IDEA的Project相当与Eclipse的Workspace,而Module相当于Project。
项目名kl.iml是 intellij idea的工程配置文件,里面是当前项目的一些配置信息
ctrl+F4关闭当前窗口,ctrl+shift+F4关闭关闭所有已打开的窗口
idea设置空包不折叠.在左侧面板点击设置---->Compact Empty Middle Packages
设置里搜索weak 将general 的 warning和weak warning右侧的 error strip mark前面的勾去掉,可以去掉右侧的黄色警告条影
idea.exe.vmoptions和idea64.exe.vmoptions调大
-Xms512m
-Xmx750m
1.idea的 Ctrl+Shift+F12(即eclipse的ctrl+m) 其实就是 Hide All Tool Windows (隐藏所有工具窗口) 这个操作的快捷键
2.如何让光标不随意定位:Settings->Editor中去掉Allow placement of caret after end of line。
3:如何显示行号:Settings->Editor->general->Appearance标签项,勾选Show line numbers
4.Intellij idea 修改后没有保存前文件----提示*号 Settings -> Editor -> General -> Editor Tabs: Check "Mark modified tabs with asterisk"
5.Settings -> Editor -> General -> Auto Import:打钩Optimize imports on fly会自动将不用的声明包(或倒错的包)删掉,相当于快捷键Ctrl+Shift+O
Add unambiguous imports on the fly:这个就是自动导入功能了,当你输入类名后,声明就被自动导入了。此功能不知是否好使
6.Settings -> Editor->Genneral->Gutter Icons->show gutter icons
以上就是设置显示代码前的绿色叶子:左边行数旁边有一个"I"绿色图标,点击进入实现类(在接口里点击会进入), 也可以ctrl+t进入实现类
7.去除IDEA报黄色/灰色的重复代码的下划波浪线
在 setting 里面 搜索 inspections _ General _ Duplicated Code 取消勾选.提交之后就可以了
右击jar包,add as liberary(最好将jar放到WEB-INFO的lib目录下)
maven项目如果不使用maven的打包编译 其WEB-INF下的lib一定要要有项目部署的jar,所以,为了方便,jar都放到lib下,
至于是右键add as liberary,还是点击Project Structure-> Modules-> Dependencies ->绿色 加号 这下添加的jar 会在Depedencies中显示 都是可以的
8.IntelliJ IDEA 设置代码提示或自动补全的快捷键
在左侧的导航框中点击 KeyMap –> Main menu –> Code –> Completion.
接着需要做两件事:
1. 移除原来的Cycle Expand Word 的 Alt+斜杠 快捷键绑定。
2. 在 Basic 上点击右键,去除原来的 Ctrl+空格 绑定,然后添加 Alt + 斜杠 快捷键。
9 设置IDEA启动的时候不打开(上次最后关闭的)工程文件:Settings->Appearance&Behavior->System Settings去掉Reopen last project on startup..
在用eclipse发布web项目时,lib下的jar包也会发布的,
在用idea发布时.lib(即使不放到lib里也可打到jar包里,maven打包的厉害之处,不过还是建议放到lib里)也会发布,D:\workspace\out\artifacts\hello_war_exploded\WEB-INF\lib
10.Settings -> Editor -> General -> Code Completin 点击Case sensitive completion后面的选择框,选中None,,使智能提示忽略大小写
11.取消单行注释的斜杠在首列:
Settings->Editor->Code Style->Java->Code Generation->Comment Code->Line comment at first column
12editor-File Encodings 设置3处都为utf-8
idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置
13设置自动导包 auto import打钩如下两个选项
Optimize imports on fly:这个其实和快捷键Ctrl+Shift+O,就是把不用的声明移除掉。如类头粘一个import com.alibaba.fastjson.JSON; 下面没用到就会自动移除
Add unambiguous imports on the fly:这个就是自动导入功能了,当你输入类名后,声明就被自动导入了(但是当有几个同名的包,idea就处理不了,也就不会给你自动导包,需要你alt+enter手动导包)。
你打开一个别人写的文件,可能会因为你设置了自动导包, 类会又白色变为蓝色(即删除了无用的包, 此类便进行了修改)
14.IDEA 编辑器右边竖线怎么取消呢?edit--appearance--show right margin前面的勾去掉
鼠标左键自由放置输入光标的位置 右键单击关闭Column Selection Mode
File -> Settings -> Editor -> Code Style -> Java -> Tabs and Indents -> Use tab character
设置完成后,就是1个tab键等于4个空格
如何创建2个java项目:
参考网址 http://www.cnblogs.com/oskyhg/p/6649266.html
1、File -> New Project -> 创建工作空间 JavaWorkspace,并 顺便创建项目 JavaOne
2、File -> New Module -> 创建项目 JavaTwo
idea创建maven项目的过程:选中main,鼠标右键->New Folder,输入java.
以此类推创建其他目录。并标识Sources,Test
该知识网址 https://my.oschina.net/lujianing/blog/186737
模块配置根目下 分为了三个标签:Sources—— Paths—— Depedencies
project compliler output:配置的是项目中的默认编译输出总目录D:\workspace\MavenDemo\out 每个模块可以自己设置特殊的输出目录 所以这个基本上没用
modules里的paths,use module compile output path设置为 D:\workspace\MavenDemo\target\classes 使用本module的编译输出目录,即不使用默认编译输出目录,即替换掉了Project的默
认输出地址
右侧:绿色是测试目录 橘色是target的目录 这些部署的时候都不需要 大红色是我的项目下没有的 蓝色是真正需要部署
在Project Structure--Artifacts---output directory:D:\workspace\MavenDemo\out\artifacts\MavenDemo_war_exploded就是项目的发布位置 非maven项目这个可以设置到任何地方
.MavenDemo:war exploded项目发布名称
在Depedencies里我们可以点击右侧的+号 添加lib 比如tomcat的lib 默认加进来就是Provided Provided 也就是项目部署的时候是忽略的 只是再编译项目的时候进行使用 Compile 是
跟随着项目部署的 Test也是不部署的
“build”是“链接”的意思。作用是将你在程序中调用到的类库融合到你的程序中,比如你用到了printf()函数,那么内部实现该函数的类库代码就会添加到你的程序中
facets选web再选你的MavenDemo项目就好了
因为是手工创建Maven项目,没有选择任何Maven模,里面没有web.xml文件,不能发布到tomcat里--因此需要我们进行添加。
点击Project structure 点击modules 选择你的mavenDemo项目,右键添加web组建,就会生成web.xml在项目里了 Modules:可看到此项目无任何适配服务组件 选择Web(为此项目添加Web
服务组件,这便是一个Web项目了)
使用TortoiseSVN.exe客户端,安装时必须选择client tools,否则不会有svn.exe,也就不能支持intellij idea的svn插件,因为intellij idea是使用命令行的方式来使用svn
Idea中提交SVN或git时,忽略某些文件,最简单的方式, 追加如下设置即可
*.iml;*.idea;*.gitignore;*.sh;*.classpath;*.project;*.settings;target;logs;
idea发布的项目,在webapps下是没有的,默认是在项目的out目录下,而eclipse是复制了一份发布到webapps,所以就不用担心清理的问题
IntelliJ IDEA打开带SVN信息的项目不显示SVN信息,项目右键SVN以及图标还有Changes都不显示解决方法:
在VCS菜单中有个开关,叫Enabled Version Control Integration,在打开的窗口的选项中选择Subversion即可。
按 Alt+Home.(用该方式打开,导航条显示为浮动形式) view里,点击navigation bar对号去掉即可
alt+9 显示版本控制----提交更新
关于状态栏 单击该开始(即电视图标)可以控制“工具窗口栏”的显示和隐藏
锁住就是只读模式,
下面的utf-8表示当前文件的编码格式,
定义语法高亮和颜色设置页面
新建的java文件夹是source folder(蓝色),而resources文件夹是resources folder(右下角是四个黄色段杠)
将keymap设置为eclipse的快捷键,就可以用之前eclipse的快捷键开发了F6单步等
Intellij中 web的程序 部署 不同于myeclipse和eclipse
需要把项目打成一个Artifacts(成品包)的war包 然后在 配置的tomcat的Deployment中选择对应的war包
一般是open一个maven项目,import module可以像eclipse一样,显示多个项目
添加tomcat(注意选择的是local的tomcat),改端口号,绑定谷歌浏览器.你启动浏览器,会自动访问index.jsp
svn提交,不管你鼠标在哪里,你点击提交按钮,它自动显示没提交的代码
如果在maven里放一个坐标,你可以点击右侧隐藏栏里的update
在设置maven的安装目录,settings.xml文件的位置,和本地仓库的位置 D:\delelop\maven\repository
IDEA的Project相当与Eclipse的Workspace,而Module相当于Project。
项目名.iml是 intellij idea的工程配置文件,里面是当前projec的一些配置信息
右击jar包,add as liberary(最好将jar放到WEB-INFO的lib目录下)
maven项目如果不使用maven的打包编译 其WEB-INF下的lib一定要要有项目部署的jar,所以,为了方便,jar都放到lib下,
至于是右键add as liberary,还是点击Project Structure-> Modules-> Dependencies ->绿色 加号 这下添加的jar 会在Depedencies中显示 都是可以的
在用eclipse发布web项目时,lib下的jar包也会发布的,
在用idea发布时.lib也会发布,D:\workspace\out\artifacts\hello_war_exploded\WEB-INF\lib
Chrome控制台Network,如何批量搜索 Response 的内容?
1、保存为har(Save as HAR with content)www.winneryun.com.har,不用全选,随便选个保存后都是当前列
表中的所有文件。
2、保存好的har是一个json格式,随便找个喜欢的编辑器,搜索就行了。{
"startedDateTime": "2018-04-03T02:42:02.077Z",
"content": {
"size": 62606,
"mimeType": "application/json",
"compression": -117,
"text": "{\"AllIndexModels\":[,\"description\":\"统计周期内进入商业场所的顾客数量\",
\"indexName\":\"客流量\",\"date\":\"1130435
itar 生成普通for循环遍历数组
iter 生成增强for循环
itli 生成List的遍历(如下)
for (int i = 0; i < list.size(); i++) {
Object o = list.get(i);
}
itar 生成array的遍历
- for (int i = 0; i < array.length; i++) {
- = array[i];
- }
alt+f10 show execution point 显示执行断点所在行
在js中直接敲 fun 回车 自动生成如下,你只需填写 方法名(就会替换默认的方法名f)
function f() {
}
在js中直接敲 $(fun) 连续回车2次 就可以生成 jsp加载时执行的方法
$(function () {
})
虽然在project structure的jdk和language level 对所有项目都设置为8,但对common-core项目的 language level并没有设置为8,还是之前的5,导致diamond运算不支持报错
来源:CSDN
作者:攻心的子乐
链接:https://blog.csdn.net/qq_29883183/article/details/74584371