目录

一、服务器部署到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

用java可以打开公用网络的防火墙吗 java实现防火墙_linux

2.2、修改server.xml开启 关闭 端口

 

用java可以打开公用网络的防火墙吗 java实现防火墙_用java可以打开公用网络的防火墙吗_02

用java可以打开公用网络的防火墙吗 java实现防火墙_运维_03

三、 实体类注解


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  去掉

用java可以打开公用网络的防火墙吗 java实现防火墙_运维_04

 至此已成功

十二、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>


持续关注,持续更新中。。。。