目录
一、服务器部署到linux,无法访问?
二、部署tomcat到linux服务器主要几点需要配置重点
三、 实体类注解
四、Idea常用快捷键
五、Linux从其他服务器下载负责文件到本地
六、热部署
七、接口返回空处理
八、linux清空一个文件
九、linux 系统参数设置
十、docker
十一、java 工具开发使用爱迪尔2021
十二、JS时间自动刷新
一、服务器部署到linux,无法访问?
查看防火墙状态是否开启,如果开启,关闭防火墙。
systemctl status firewalld 查看状态
firewall-cmd --state
# 开启service firewalld start# 重启service firewalld restart# 关闭service firewalld stop
firewall-cmd --list-all 查看防火墙规则
二、部署tomcat到linux服务器主要几点需要配置重点
2.1、修改tomcat 目录下bin/catalina.sh
2.2、修改server.xml开启 关闭 端口
三、 实体类注解
swagger实体字段说明 @ApiModelProperty(value = "文件类型文件类型:1:生活 2:动物 3:儿童用品 4、节日祝福 6 酒类 7 表情包")
返回字段格式化 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
为空不返回 @JsonInclude(JsonInclude.Include.NON_NULL)
四、Idea常用快捷键
ctrl+shift+L 代码格式化
双击shift 搜索
五、Linux从其他服务器下载负责文件到本地
scp -r root@172.16.61.168:/usr/local/eureka /usr/local/
六、热部署
<!-- 修改后立即生效,热部署 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
七、接口返回空处理
我们先来讨论
listUser()
这个接口,我经常看到如下实现:
public List<User> listUser(){
List<User> userList = userListRepostity.selectByExample(new UserExample());
if(CollectionUtils.isEmpty(userList)){//spring util工具类
return null;
}
return userList;
}
这段代码返回是null,从我多年的开发经验来讲,对于集合这样返回值,最好不要返回null,因为如果返回了null,会给调用者带来很多麻烦。你将会把这种调用风险交给调用者来控制。
如果调用者是一个谨慎的人,他会进行是否为null的条件判断。如果他并非谨慎,或者他是一个面向接口编程的狂热分子(当然,面向接口编程是正确的方向),他会按照自己的理解去调用接口,而不进行是否为null的条件判断,如果这样的话,是非常危险的,它很有可能出现空指针异常!
根据墨菲定律来判断: “很有可能出现的问题,在将来一定会出现!”
基于此,我们将它进行优化:
public List<User> listUser(){
List<User> userList = userListRepostity.selectByExample(new UserExample());
if(CollectionUtils.isEmpty(userList)){
return Lists.newArrayList();//guava类库提供的方式
}
return userList;
}
对于接口(List listUser())
,它一定会返回List,即使没有数据,它仍然会返回List(集合中没有任何元素);
通过以上的修改,我们成功的避免了有可能发生的空指针异常,这样的写法更安全!
其他方法
public Optional<User> getOptional(Integer id){
return Optional.ofNullable(userRepository.selectByPrimaryKey(id));
}
public interface UserSearchService{
/**
* 根据用户id获取用户信息
* @param id 用户id
* @return 用户实体
* @exception UserNotFoundException
*/
User get(@NotNull Integer id);
/**
* 根据用户id获取用户信息
* @param id 用户id
* @return 用户实体,此实体有可能是缺省值
*/
Optional<User> getOptional(@NotNull Integer id);
}
public interface UserSearchService{
/**
* 根据用户id获取用户信息
* @param id 用户id
* @return 用户实体
* @exception UserNotFoundException
*/
@CheckForNull
User get(@NonNull Integer id);
/**
* 根据用户id获取用户信息
* @param id 用户id
* @return 用户实体,此实体有可能是缺省值
*/
Optional<User> getOptional(@NonNull Integer id);
}
八、linux清空一个文件
cat /dev/null > 文件名称
cp /dev/null 文件名称
九、linux 系统参数设置
echo $CXJG_HOST
修改环境变量
vim /etc/profile
重启生效
source /etc/profile
修改host文件
cat /etc/hosts
查询端口是否占用
netstat -anp | grep 端口
如果占用
kill -9 线程号
十、docker
下载安装:curl -s https://get.docker.com|sh
启动:service docker start
查看是否成功:docker version
拉取镜像:docker pull 镜像名称
查询是否拉取成功:docker images
运行docker:docker run hello-world
后台运行 docker run -d xxx
查询帮助命令 docker exec --help
十一、java 工具开发使用爱迪尔2021
1-关闭
(需要评论说明 “”需要爱迪尔2021“”)
3-解压到桌面
4-双击ok
5-启动
6-关闭自动更新 file-setting
打开settings 去掉
至此已成功
十二、JS时间自动刷新
<script>
setInterval(time,1000) //定时器
function time(){ //定义方法 time
let time = new Date(); //实例化日期对象
let year=time.getFullYear()+"年" //获取年
let month=time.getMonth()+1+"月" //获取月
let day=time.getDate()+"日" //获取日
let h=time.getHours()+':' //获取时
let m=time.getMinutes()+":" //获取分
let s=time.getSeconds() //获取秒
if(s<10){ //判定秒 是否小于10秒
s="0"+time.getSeconds() //小于是 在其前加0 01,02,03...
}
if(time.getMinutes()<10){ //判定分 是否小于10分
m="0"+time.getMinutes()+":" //小于是 在其前加0 01,02,03...
}
document.getElementById("nowDate").innerHTML='当前时间:'+year+month+day+h+m+s //显示当前时间
}
</script>
持续关注,持续更新中。。。。