null或空值的判断处理 1,错误用法一:
if (name == "") {
//do something
}
2,错误用法二:
if (name.equals("")) {
//do something
}
3,错误用法三:
if (!name.equals("")) {
//do something
}
我们来解说一下:
上述错误用法1是初学者最容易犯,也最不容易被发现的错误,因为它们的语法本身没问题,Java编译器编译时不报错。但这种条件可能在运行时导致程序出现bug,永远也不会为true,也就是时说,if块里的语句永远也不会被执行。
上述用法二,用法三 的写法,是包括很多Java熟手也很容易犯的错误,为什么是错误的呢?也许你会感到纳闷。
对,它们的写法本身没错,但是,少了一个null判断的条件,试想,如果name=null的情况下,会发生什么后果呢?后果是,你的程序将抛出NullPointerException异常,系统将被挂起,不再提供正常服务。
当然,如果之前已经对name作了null判断的情况例外。
正确的写法应该先加上name != null的条件,如例:
if (name != null && !name.equals("")) {
//do something
}
或者
if (!"".equals(name)) {//将""写在前头,这样,不管name是否为null,都不会出错。
//do something
}
下面,我们举一个简单的例子:
TestNullOrEmpty.java Jenkins实现SpringBoot应用自动部署 工具的出现,目的就是为了提高我们的工作效率,让我们把时间花在做重要的事情上。学习本文你需要具备基本的Linux知识,学习自动部署的前提是你能够手动在服务器完成部署。
服务端环境
CentOS 7.0,Java1.8,Maven 3.5.2 ,git1.8(环境变量需配置完成,并非必须是相同的环境)
Jenkins的下载与安装
下载
官网:https:///
我这里是普通的部署只需要下载 Generic Java package (.war) 版本即可,关于其他的版本例如Docker版,可 ![]() null或空值的判断处理 1,错误用法一:
if (name == "") {
//do something
}
2,错误用法二:
if (name.equals("")) {
//do something
}
3,错误用法三:
if (!name.equals("")) {
//do something
}
我们来解说一下:
上述错误用法1是初学者最容易犯,也最不容易被发现的错误,因为它们的语法本身没问题,Java编译器编译时不报错。但这种条件可能在运行时导致程 SpringBoot-Mybatis_Plus学习记录之公共字段自动填充 一.应用场景
----
平时在建对象表的时候都会有最后修改时间,最后修改人这两个字段,对于这些大部分表都有的字段,每次在新增和修改的时候都要考虑到这几个字段有没有传进去,很麻烦。mybatisPlus有一个很好的解决方案。也就是公共字段自动填充的功能。一般满足下面条件的字段就可以使用此功能:
这个字段是大部分表都会有的。
这个字段的值是固定的,或则字段值是可以在后台动态获取的。
常用的就是last_update_time,last_update_name这两个字段。
二.配置Mybatis mysql的空值与NULL的区别 Mysql数据库是一个基于结构化数据的开源数据库。SQL语句是MySQL数据库中核心语言。不过在MySQL数据库中执行SQL语句,需要小心两个陷阱。
陷阱一:空值不一定为空
空值是一个比较特殊的字段。在MySQL数据库中,在不同的情形下,空值往往代表不同的含义。这是MySQL数据库的一种特性。如在普通的字段中(字符型的数据),空值就是表示空值。但是如果将一个空值的数据插入到TimesTamp类型的字段中,空值就不一定为空。此时为出现什么情况呢
我先创建了一个表。在这个表中有两个字段:User_i MySQL timestamp类型列值自动更新 MySQL中使用timestamp定义字段,默认情况下会给字段添加自动更新的属性,本文将分析这个自动更新的设置。
问题概述
一个表中定义了两个timestamp类型的字段,
create_time TIMESTAMP NOT NULL COMMENT '创建时间',
update_time TIMESTAMP NOT NULL COMMENT '更新时间'
新插入记录时,给create_time和update_time各自赋予当前时间值,没出现问题。更新记录时代码中只更新update_time,结果cre Springboot 随笔(1) -- 自动引入配置与启动机制 为什么用SpringBoot?
同上题记。总结:快速开始,方便搭建,开发web时并不需要Tomcat或者Jetty,甚至连插件都不用(因为自带Tomcat或自配置成Jetty)。
肯定有缺点吧?
一个框架除了知道他的优点,肯定要知道他的缺点。
SpringBoot 缺点如下(暂时发现):
配置逻辑隐藏太深,所以如果有很多自定义的需要翻源码看,如配置多个Servlet
配置Bean化,替代XML。Bean和XML谁更优?一半一半,所以建议Bean和XML混用(SpringBoot提供这种方式),有时XML定义 MIT研制出空陆自动切换型无人机技术,构想多年的“飞行车”或将实 厉害了飞行车,既能在天上飞,也能在地上跑。
麻省理工学院(MIT)的计算机科学和人工智能实验室(CSAIL)开发了一种新型无人机原型,它既可以在空中飞行也可以在地面行驶,且可以实现自由切换。
?
CSAIL的研究人员研制了八架四足无人机,该无人机最大路面行驶距离可达252米,纯飞行可达90米。该团队指出,许多自然界的动物,包括鸟类和昆虫,都能够实现在飞行和步行之间切换,所以他们也要让无人机做同样的事情,并协调运行这两种模式以最大限度地延长电池寿命。
视频中展示了这个概念,当融合了可以随意切换的“飞行车”后, 框架 | SpringBoot项目发布到自动化容器Docker步骤 如何发布Sping Boot项目?
新建好SpringBoot项目之后,SIT测试如果没问题,则下一步肯定要进行UAT测试。
那么如何将SpringBoot项目进行发布部署,这和我们之前的普通web项目不太一样,之前的项目直接部署到tomcat的webapps中,然后启动tomcat即可访问。
但是SpringBoot项目内嵌tomcat,这如何发布部署访问呢?
目前比较常用的方式有三种:发布JAR包、发布WAR包、部署到自动化容器中,以下具体讲解发布部署过程。
1
技术选型
JDK1.7、MYSQL57、 码神联盟 2018-06-04 1.8K0 第三十章:SpringBoot使用MapStruct自动映射DTO MapStruct是一种类型安全的bean映射类生成java注释处理器。
我们要做的就是定义一个映射器接口,声明任何必需的映射方法。在编译的过程中,MapStruct会生成此接口的实现。该实现使用纯java方法调用的源和目标对象之间的映射,MapStruct节省了时间,通过生成代码完成繁琐和容易出错的代码逻辑。下面我们来揭开它的神秘面纱
本章目标
基于SpringBoot平台完成MapStruct映射框架的集成。
SpringBoot 企业级核心技术学习专题
专题 专题名称 专题描述
001 Spring 【译】在列表视图中处理空值
本篇文章主要针对两类开发者。第一个是曾遇到过IllegalArgumentException: Path must not be empty问题的开发者。第二个则是当ListView使用了未被完整加载的图像,应用程序仍能正确运转的开发者们。 |
|
来自: 三十的狼 > 《SpringBoot》