Java

分类下相关文章

java 抽象类引发的 java.lang.RuntimeException: Unable to instantiate activity

从一个蓝牙模块的三方 Android SDK 中复制了一段 demo 代码,没想到运行时直接崩溃,报错: java.lang.RuntimeException: Unable to instantiate activity 除了这个错误信息,其他没有任何的有用信息,感觉完全定位不到问题。 从网上找到一个类似的情况,作者说,可能是 activity class 被设置成了抽象类。 检查了一下代码,发现确实是这样。。。 public abstract class NodeListActivity extends NodeScanActivity implements NodeRecyclerV ...

阅读全文...

Spring Entity 自动设置 created_at updated_at 字段的值

在使用 Spring JPA 进行 ORM 操作,想简化时间字段的操作。 预期效果 可以像 PHP 的 Laravel Eloquent 一样,在 Model 进行 create,update 操作时,可以自动更新 created_at,updated_at 字段。 失败的尝试 @CreatedDate private Date createdAt; @LastModifiedDate private Date updatedAt; 添加之后,并不生效,保存到数据库表中的值都是 null。 查了一下,还需要配置一堆其他东西,我感觉不够直观。所以,最终没有采用这种方案。 简单直接的一种方法 ...

阅读全文...

Spring POST 数据映射到 Entity 保存的简化写法 @RequestBody

以保存文章 Article 为例,假设前端只传递两个参数 文章标题 title 文章链接 slug 写法一 在 Spring 后台 Controller 中,逐一参数进行设置,并保存。 前提是,请求是通过查询参数来提及数据。例如: POST http://localhost/addArticle?title=test&slug=test @PostMapping("/addArticle") public String addArticle(@RequestParam String title, @RequestParam String slug) { ...

阅读全文...

IDEA IDE 中模拟发送 JSON POST 请求

在 IDEA 中测试 WEB API 接口非常方便,例如在 Spring 项目中新写了一个添加保存的接口。需要测试的时候,只需要点击函数左侧的 "Open in HTTP Client" 小图标,即可快速创建模拟请求。 JSON POST 请求模板 POST localhost:9090/addArticle Content-Type: application/json { "title": "hello", "slug": "content" } 执行请求 点击右箭头小图标,即可 ...

阅读全文...

Spring Security 启用后,访问所有页面显示 Please sign in

在新建 Spring Boot 项目时,好奇地勾选了 Spring-Security。 然后导致访问所有页面都显示一个登陆界面 "Please sign in"。 查了一下 spring 的文档,确实如此: If Spring Security is on the classpath, Spring Boot automatically secures all HTTP endpoints with“basic” authentication. 默认所有页面都需要授权。 默认的用户名密码是什么 默认用户名是:user 密码是 spring 自动生成的,在 console ...

阅读全文...

Spring 中注解 RestController 与 Controller 的区别

RestController A convenience annotation that is itself annotated with @Controller and @ResponseBody. 即,RestController 注解是 Controller 和 ResponseBody 的组合写法。 所以,下面两种写法是等同的。 @Controller @ResponseBody public class MyController1 {} @RestController public class MyController2 {} ResponseBody ResponseBod ...

阅读全文...

Java package 包的命名规范

例如,我想新建一个名字包含多个单词的 package。例如,my package。 到底是用下划线分割,还是采用驼峰式,或者是横线连接。 参考 Google Java 代码规范: Package names are all lowercase, with consecutive words simply concatenated together (no underscores). For example, com.example.deepspace, not com.example.deepSpace or com.example.deep_space. 即 全部小写 直接拼接,不要使 ...

阅读全文...

maven 基本介绍及安装

maven 英文怎么读 中文翻译为专家、内行。读作,meivn,而不是 mavn。 maven 的作用 依赖管理。避免 JAR(Java ARchive) 加入到代码仓库管理。 标准的 build system 生成单元测试报告 Ubuntu 上 apt 安装 maven sudo apt install maven 查看 maven 版本号 > mvn --version Apache Maven 3.6.3 Maven home: /usr/share/maven Java version: 1.8.0_265, vendor: Private Build, runtime: ...

阅读全文...

windows 10 上搭建 eclipse java 开发环境

为了学习 spark,不得不在 windows 10 上搭建一套 java 的开发环境。 为啥要在 windows 10 上搭建 java 开发环境 而不是在 WSL Ubuntu 下搭建,我只是想尝试一下 windows 下安装 JDK ... 安装 JDK 如果不先安装 JDK 的话,启动 eclipse 会报错。 按照 spark in action 第二版中的推荐,我选择了 java8 JDK。至于是 oracle JDK,还是 OpenJDK,我选择了 oracle 版本,原因是下载相对方便一些。。。虽然注册账号非常恶心。 https://www.oracle.com/java/t ...

阅读全文...

Ubuntu 安装 Spring Boot

系统环境 Ubuntu 18.04 (Windows 10 WSL 下) $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic jdk 版本 11.0.1 java --version openjdk 11.0.1 2018-10-16 OpenJDK Runtime Environment (build 11.0.1+13-Ubuntu-3ubun ...

阅读全文...

jshell - java 的交互式 shell

Jshell 是 java 9 之后新增的一个交互式命令行工具,类似于 python 和 PHP 内置的交互式工具。非常方便做代码试验。 Ubuntu 16.04 上的安装 openjdk 11 的方法 sudo apt install openjdk-11-jdk-headless 安装之后,直接运行 > jshell Dec 22, 2018 6:50:25 AM java.util.prefs.FileSystemPreferences$1 run INFO: Created user preferences directory. | Welcome to JShell -- ...

阅读全文...

XSD

xsd:all 与 xsd:sequence 的区别 all 的子集可以是无序的 sequence 的子集是有序的 simple element 即简易元素,类型为 XSD 内置的数据类型,例如 xs:string xs:decimal xs:integer xs:boolean xs:date xs:time XML 与 XSD 的映射关系 例如,XML 的内容为 <name>大象</name> 对应的 XSD 则为 <xs:element name="name" type="xs:string"/> d ...

阅读全文...

Eclipse 快捷键

Ctrl+Shift+o 引入当前行使用的但未 import 的类 Ctrl+Shift+f 格式化代码 Ctrl+Click 自动跳转到此函数、类定义的地方 Alt+/ 自动补全单词,类似 VIM 中的 Ctrl+N ...

阅读全文...

使用 xfire + spring 实现 web service

Spring 配置 web.xml <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:org/codehaus/xfire/spring/xfire.xml /WEB-INF/applicationContext.xml </param-value> </context-param> <listener> <listener-class>org.spring ...

阅读全文...

远古社会如何解决 java 依赖关系

事情是这样的,客户不会使用 Maven 也没用过 Gradle,更不敢尝试最新的 Spring 版本。 于是,他们给传了一个手工配置好的 Spring 3.2 的初始化项目压缩包。 痛苦的旅程就这样开始了。。。 由于客户不会调用 RESTFul 的接口,不得已改成 Web Service 的接口。这就需要引入 Spring-WS 的依赖。 修改 web.xml 加入 <!-- Spring-WS --> <servlet> <servlet-name>spring-ws</servlet-name> <servlet ...

阅读全文...