Home | 简体中文 | 繁体中文 | 杂文 | 打赏(Donations) | 云栖社区 | OSChina 博客 | Facebook | Linkedin | 知乎专栏 | Github | Search | About

Netkiller Java 手札

Java, Servlet, JavaBean, Struts, Spring ...

Mr. Neo Chan, 陈景峯(BG7NYT)


中国广东省深圳市龙华新区民治街道溪山美地
518131
+86 13113668890


文档始创于2015-11-10

版权声明

转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

http://www.netkiller.cn
http://netkiller.github.io
http://netkiller.sourceforge.net
微信订阅号 netkiller-ebook (微信扫描二维码)
QQ:13721218 请注明“读者”
QQ群:128659835 请注明“读者”

2017-11

关于《Netkiller Java 手札》

作者2002年开始在项目中使用Java,各种原因没有留下Java文档,2015因工作需要重新拾起Java并整理本文档。

本电子书重点内容是Spring boot, Spring cloud, Spring data, Spring security


目录

1. 自述
1.1. 系列文档
1.2. 作者简介
1.3. 写给读者
1.4. 文档下载
1.4.1. Netkiller 手札 2017版电子书(epub,kindle,chm,pdf)
1.5. 打赏(Donations)
1.5.1. 微信(Wechat)
1.5.2. 支付宝(Alipay)
1.5.3. PayPal Donations
1.5.4. 银行(Bank)
1. Java
1.1. JVM
1.1.1. 安装 Java 6
1.1.1.1. HeapDumpOnOutOfMemoryError
1.1.2. java-1.8.0-openjdk
1.1.3. java - Launches a Java application.
1.1.3.1. -verbose:class 显示载入jar文件
1.1.3.2. java.io.tmpdir
1.1.3.3. 显示版本号
1.1.4. jar
1.1.5. jdeps - Java class dependency analyzer.
1.2. System
1.2.1. user.dir
1.2.2. java.io.tmpdir
1.2.3. 自定义
1.2.4. System.in 标准输入(Stdin)
1.3. exec 运行shell
1.4. 类型
1.4.1. Integer
1.4.1.1. 前面补零
1.4.2. String
1.4.2.1. 随机字符串
1.4.2.2. 字符串替换处理
1.4.2.2.1. 正则表达式查找与替换
1.4.2.3. substring
1.4.2.4. string to timestamp
1.4.3. 类型转换
1.4.3.1. Long to String
1.4.4. Date
1.4.4.1. SimpleDateFormat
1.4.4.2. Timestamp
1.4.4.3. TimeZone
1.4.4.4. String to Date
1.4.4.5. 比较两个日期与时间
1.4.4.6. Calendar
1.4.4.7. getToday
1.4.4.8. Yesterday
1.4.4.9. ISO 8601
1.4.5. Array
1.4.5.1. for each
1.4.5.2. Array to String
1.4.6. float
1.4.7. double
1.4.7.1. String to double
1.4.8. BigDecimal
1.4.8.1. Convert BigDecimal Object to double value
1.4.8.2. 去除末尾多余的0
1.4.8.3. 禁用科学计数法
1.4.8.4. 移动小数点位置
1.4.9. StringBuffer
1.4.10. enum
1.5. 数据结构
1.5.1. Collection
1.5.1.1. ArrayList
1.5.1.1.1. ArrayList to String
1.5.1.1.2. Array to List
1.5.1.2. Set 转为 List
1.5.2. HashMap
1.5.2.1. static map
1.5.2.2. foreach hashmap
1.5.2.3. LinkedHashMap
1.6. Network
1.6.1. URL
1.6.2. java.io.tmpdir
1.7. JDBC
1.7.1. 安装 JDBC 包
1.7.2. MySQL
1.7.3. Oracle
1.7.3.1. SID
1.7.3.2. SERVICE_NAME
1.7.3.3. TNS
1.7.3.3.1.
1.7.3.4. Oracle RAC Cluster
1.7.3.5. Oracle JDBC Demo
1.7.4. FAQ
1.7.4.1. java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
1.7.4.2. Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
1.8. Util
1.8.1. *.properties
1.8.1.1. propertyNames()
1.8.1.2. keySet()
1.8.1.3. entrySet()
1.8.1.4. 方法中返回 Properties
1.8.1.5.
1.8.1.6. getResourceAsStream()
1.8.1.7. store
1.8.2. Logging
1.8.2.1. console
1.8.3. BASE64
1.9. IO
1.9.1. 临时文件
1.9.2. FileWriter 文本写入文件
1.9.3. BufferedWriter
1.10. Reflection 反射
1.10.1. 获得所有变量
1.10.2. 批量赋值
1.10.3. 方法操作
1.10.3.1. 获得所有方法
1.10.3.2. set/get 方法
1.10.3.3. static 方法调用
1.11. Thread 线程
1.11.1. 实现异步执行
1.11.2. 继承 Thread 类实现多线程
1.11.3. 实现 Runnable 接口
1.11.4. 线程同步
1.12. java 脚本引擎
1.12.1. Maven
1.12.2. Helloworld
1.12.3. 运行脚本文件
1.12.4. 变量传递
1.12.5. 全局变量与局部变量定义
1.12.6. 调用脚本中的函数或方法
1.12.7. 脚本编译
1.12.8. jjs - Invokes the Nashorn engine.
1.13. Crypto
1.13.1. MD5
1.13.2. AES
1.13.3. AES/CBC/PKCS5PADDING
1.13.4. DES
2. Build Tools
2.1. Apache Ant
2.1.1. 安装 ant
2.1.1.1. 1.8
2.1.1.2. 1.10.1
2.1.2. ANT
2.1.2.1. ant.project.name
2.1.2.2. 定义
2.1.3. Project
2.1.3.1. property
2.1.3.2. ant
2.1.3.3. environment
2.1.4. path
2.1.5. copy
2.1.6. javac
2.1.7. condition
2.1.8. exec
2.1.8.1. sshexec
2.1.9. if
2.1.10. macrodef
2.1.10.1. Git
2.1.10.2. Rsync
2.1.10.3. SSH
2.1.10.4. maven
2.1.11. Javascript
2.1.12. mail
2.1.13. basename
2.1.14. FAQ
2.1.14.1. warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
2.1.14.2. 调试 exec
2.2. Apache Ivy
2.2.1. Ivy Install
2.2.1.1. source code
2.2.1.2. apt-get
2.2.2. Test example
2.3. maven
2.3.1. 安装
2.3.1.1. Ubuntu
2.3.1.2. 源码安装
2.3.2. Maven 命令
2.3.2.1. help
2.3.2.2. archetype:create
2.3.2.3. clean
2.3.2.4. compile
2.3.2.5. test
2.3.2.6. package
2.3.2.7. install
2.3.2.7.1. install-file
2.3.2.8. war
2.3.2.9. exec
2.3.2.10. dependency
2.3.2.10.1. build-classpath
2.3.2.10.2. dependency:tree 显示包依赖树
2.3.2.10.3. copy-dependencies 导出依赖包
2.3.2.10.4. analyze 查看未被使用的包
2.3.2.10.5. sources 下载源码
2.3.2.11. jar
2.3.2.12. help:describe
2.3.3. Maven 仓库
2.3.4. pom.xml
2.3.4.1. properties
2.3.4.1.1. java.version
2.3.4.2. dependencies
2.3.4.3. dependencyManagement
2.3.4.4. build
2.3.4.4.1. finalName
2.3.4.4.2. sourceDirectory
2.3.4.4.3. resources 文件处理
2.3.4.4.3.1. resources
2.3.4.5. plugins
2.3.4.5.1. 跳过Unit test
2.3.4.5.2. maven-shade-plugin
2.3.5. plugins
2.3.5.1. maven-compiler-plugin
2.3.5.2. maven-war-plugin
2.3.5.3. maven-antrun-plugin
2.3.5.4. maven-install-plugin
2.3.5.5. maven-surefire-plugin
2.3.5.6. maven-deploy-plugin
2.3.5.7. maven-jar-plugin
2.3.5.8. maven-dependency-plugin
2.3.5.9. spring-boot-maven-plugin
2.4. Gradle
2.4.1. gradle 命令
2.4.1.1. tasks 列出任务
2.4.2. build.gradle
2.4.2.1. repositories
2.4.2.2. dependencies
2.4.2.3. jar
2.4.3. gradle.properties
2.4.3.1. 列出 properties
2.4.3.2. 自定义 gradle.properties
2.4.3.3.
2.4.3.4. System.properties
2.4.4. Example
3. Servlet
3.1. Example
3.2. Session
3.3. HttpServletRequest
3.4. Filter
3.4.1. web.xml
3.4.2. Filter 类
3.5. Listener
3.5.1. web.xml
3.5.2. NewsListener 类
3.5.3. NewsTask 类
3.5.4. JSP 中心显示
3.6. JSP
3.6.1. 注释
3.6.2. pageContext
3.6.2.1. queryString
3.6.3. request
3.6.3.1. Form
3.6.4.
3.6.4.1. sendRedirect
3.6.5. cookie
3.6.6. session
3.6.7. page
3.6.7.1. Session
3.6.8. trimDirectiveWhitespaces
3.6.9. include
3.6.10. jsp
3.6.10.1. jsp:forward
3.6.11. error-page
3.6.12. JSP 编程
3.6.12.1. 随机数
3.6.13. FAQ
3.6.13.1. http://www.netkiller.cn/test.html;jsessionid=7D25CE666FF437F2094AA945E97CEB37
3.7. JSTL(JavaServer Pages Standard Tag Library)
3.7.1. c:set
3.7.1.1. c:remove
3.7.2. c:out
3.7.3. c:url
3.7.4. c:redirect
3.7.5. c:import
3.7.6. c:if
3.7.6.1. boolean
3.7.7. c:choose
3.7.8. c:forEach
3.7.8.1. List 处理
3.7.8.2. Map 处理
3.7.9. empty 判断是否为空
3.7.10. JSTL fmt Tag setBundle Example
3.7.10.1. fmt:message
3.7.10.1.1. Language Package
3.7.10.1.2. fmt:message 变量
3.7.10.2.
3.8. WebSocket
3.8.1. Server
3.8.2. Client
I. Spring Framework
4. Spring Tool Suite
4.1. 安装
4.2. Dashboard
5. Spring Boot
5.1. Spring Boot Quick start
5.1.1. pom.xml
5.1.2. Controller
5.2. 运行 Spring boot 项目
5.2.1. Maven run
5.2.2. Linux systemd
5.2.3. 传统 init.d 脚本
5.3. SpringApplication
5.3.1. @SpringBootApplication
5.3.1.1. 排除 @EnableAutoConfiguration 加载项
5.3.2. @EnableAutoConfiguration
5.3.3. @ComponentScan
5.3.4. @EntityScan 实体扫描
5.3.5. @EnableJpaRepositories
5.3.6. CharacterEncodingFilter
5.3.7. 隐藏 Banner
5.3.8. CORS 跨域请求
5.3.9. 实体与仓库扫描
5.3.10. 列出 Beans
5.4. 编译用于Tomcat的 War
5.5. Properties
5.5.1. @EnableConfigurationProperties 引用自定义 *.properties 配置文件
5.5.2. spring.profiles.active 参数切换配置文件
5.5.3. SpringApplicationBuilder.properties() 方法添加配置项
5.6. Spring boot with Logging
5.6.1. 打印日志
5.6.2. 日志输出级别
5.6.3. 禁止控制台输出日志
5.6.4. 标准输出
5.6.5. 安天分隔日志
5.6.6. 按照文件尺寸分割日志
5.6.7. 指定Class过滤日志
5.6.8. 日志写入 MongoDB
5.6.9. logback 配置详解
5.6.9.1. configuration 属性配置
5.6.9.2. contextName 设置上下文名称
5.6.9.3. property 设置变量
5.6.9.4. encoder 日志格式设置
5.6.9.5. RollingFileAppender
5.7. Service
5.7.1. Application
5.7.2. 定义接口
5.7.3. 实现接口
5.7.4. 调用 Service
5.8. Spring boot with Webpage
5.8.1. Maven
5.8.2. application.properties
5.8.3. Application
5.8.4. IndexController
5.8.5. src/main/webapp/WEB-INF/jsp/index.jsp
5.8.6. 集成模板引擎
5.9. String boot with RestTemplate
5.9.1. 在控制器中完整实例
5.10. Spring boot with Session share
5.10.1. Redis
5.10.1.1. Maven
5.10.1.2. application.properties
5.10.1.3. Application
5.10.2. 测试 Session
5.10.3. JDBC
5.11. Spring boot with MongoDB
5.11.1. Maven
5.11.2. Application
5.11.3. 数据源配置
5.11.3.1. 多数据源配置
5.11.3.2. JPA 多数据源
5.11.3.3. Connection and Statement Pooling
5.11.3.3.1. org.apache.tomcat.jdbc.pool.DataSource
5.11.3.3.2. druid
5.11.3.3.3. c3p0 - JDBC3 Connection and Statement Pooling
5.11.3.3.4. dbcp2
5.11.3.3.5. bonecp
5.11.3.3.6. dbcp2
5.11.4. MongoTemplate
5.11.5. Repository
5.12. Spring boot with MySQL
5.12.1. Maven
5.12.2. Resource
5.12.3. Application
5.12.4. JdbcTemplate
5.12.5. CrudRepository
5.13. Spring boot with Oracle
5.13.1. Maven
5.13.2. application.properties
5.13.3. Application
5.13.4. CrudRepository
5.13.5. JdbcTemplate
5.13.6. Controller
5.14. Spring boot with PostgreSQL
5.14.1. pom.xml
5.14.2. application.properties
5.14.3. Application
5.14.4. CrudRepository
5.14.5. JdbcTemplate
5.14.6. Controller
5.14.7. Test
5.15. Spring boot with Email
5.15.1. Maven
5.15.2. Resource
5.15.3. POJO
5.15.4. RestController
5.15.5. Test
5.16. Spring boot with Velocity template
5.16.1. Maven
5.16.2. Resource
5.16.3. Application
5.16.4. RestController
5.16.5. Test
5.17. Spring boot with Thymeleaf
5.17.1. Maven
5.17.2. application.properties
5.17.3. Controller
5.17.4. HTML5 Template
5.18. Spring boot with Spring security
5.18.1. Maven
5.18.2. Reource
5.18.3. Application
5.18.4. WebSecurityConfigurer
5.18.5. RestController
5.18.6. 测试
5.18.7. Spring + Security + MongoDB
5.18.7.1. Account
5.18.7.2. AccountRepository
5.18.7.3. WebSecurityConfiguration
5.19. Spring boot with Oauth2
5.19.1. Maven
5.19.2. Password tools
5.19.3. Server
5.19.3.1. Maven
5.19.3.2. application.properties
5.19.3.3. EnableAuthorizationServer
5.19.3.4. EnableResourceServer
5.19.3.5. Entity Table
5.19.3.6. UserRepository
5.19.3.7. UserService
5.19.3.8. TestRestController
5.19.3.9. 数据库初始化
5.19.3.10. Test
5.19.4. Spring boot with Oauth2 RestTemplate
5.19.4.1. Maven
5.19.4.2. OAuth2ClientConfiguration.java
5.19.4.3. Application.java
5.19.4.4. application.properties
5.19.4.5. Controller
5.19.4.6. Test
5.20. Spring boot with Scheduling
5.20.1. Application.java
5.20.2. Component
5.20.3. 查看日志
5.20.4. 计划任务控制
5.21. Spring boot with Cache
5.21.1. Spring boot with Redis
5.21.1.1. maven
5.21.1.2. application.properties
5.21.1.3. JUnit
5.21.1.4. Controller
5.21.2. Redis Pub/Sub
5.21.2.1. Redis配置类
5.21.2.2. 订阅和发布类
5.21.2.3. 消息发布演示
5.21.3. @Cacheable
5.21.3.1. maven
5.21.3.2. Controller
5.22. Spring boot with Hessian
5.22.1. Maven
5.22.2. Application
5.22.3. HessianServiceExporter
5.22.4. Service
5.22.5. RestController
5.23. Spring boot with Apache Kafka
5.23.1. 安装 kafka
5.23.2. maven
5.23.3. Spring boot Application
5.23.4. EnableKafka
5.23.5. KafkaListener
5.23.6. 测试
5.23.7. 完整的发布订阅实例
5.23.7.1. Consumer
5.23.7.2. Producer
5.23.7.3. Test
5.23.8. Spring cloud with Kafka
5.23.8.1. Application 主文件
5.23.8.2. 资源配置文件
5.23.8.2.1. application.properties
5.23.8.2.2. bootstrap.properties
5.23.8.2.3. Git 仓库
5.23.8.3. 启用 kafka
5.23.8.4. 消息发布主程序
5.24. Spring boot with RabbitMQ(AMQP)
5.24.1. maven
5.24.2. RabbitMQConfig
5.24.3. 生产者
5.24.4. 消费者
5.25. Spring boot with Git version
5.25.1. CommonRestController 公共控制器
5.25.2. VersionRestController 测试控制器
5.25.3. 创建 .gitattributes 文件
5.26. Spring boot with HTTPS SSL
5.26.1. 生成自签名证书
5.26.2. application.properties 配置文件
5.26.3. 启动 Spring boot
5.26.4. restTemplate 调用实例
5.27. Spring boot with Elasticsearch 2.x
5.27.1. Maven
5.27.2. Application
5.27.3. application.properties
5.27.4. Domain
5.27.5. ElasticsearchRepository
5.28. Spring boot with Elasticsearch 5.5.x
5.28.1. Maven
5.28.2. Application
5.28.3. application.properties
5.28.4. ElasticsearchConfiguration
5.28.5. RestController
5.29. Spring boot with Apache Hive
5.29.1. Maven
5.29.2. application.properties
5.29.3. Configuration
5.29.4. CURD 操作实例
5.30. Spring boot with Phoenix
5.30.1. Maven
5.30.2. application.properties
5.30.3. Configuration
5.31. Spring boot with Data restful
5.31.1. Maven
5.32. Spring boot with ELK(Elasticsearch + Logstash + Kibana)
5.32.1. TCP 方案
5.32.2. Redis 方案
5.32.3. Kafka 方案
5.32.4. Other
5.33. Springboot with Ethereum (web3j)
5.33.1. Maven
5.33.2. application.properties
5.33.3. TestRestController
5.33.4. 测试
5.34. 异步执行
5.34.1. 最简单的配置
5.34.2.
5.35. application.properties
5.35.1. 加载排除
5.35.2. PID FILE
5.35.3. 内嵌 tomcat server
5.35.3.1. server.tomcat.basedir
5.35.3.2. server
5.35.3.3. access.log
5.35.3.4. logging
5.35.3.5. charset
5.35.3.6. Session 配置
5.35.3.7. cookie
5.35.3.8. error 路径
5.35.3.9. 压缩传输
5.35.3.10. server.servlet.context-path
5.35.3.11. ssl
5.35.4. JSON 输出与日期格式化
5.35.5. SMTP 相关配置
5.35.6. Redis
5.35.7. MongoDB
5.35.8. MySQL
5.35.9. Oracle
5.35.10. default_schema
5.35.11. datasource
5.35.12. velocity
5.35.13. Security 相关配置
5.35.14. MVC 配置
5.35.15. Kafka 相关配置
6. Spring MVC
6.1. @Controller
6.1.1. @RequestMapping
6.1.1.1. @RequestMapping("/")
6.1.1.2. 映射多个URL
6.1.1.3. headers
6.1.1.4. @GetMapping
6.1.1.5. @PostMapping
6.1.2. RequestMapping with Path Variables - @PathVariable
6.1.2.1. URL 参数传递
6.1.2.2. URL 传递 Date 类型
6.1.2.3. 处理特殊字符
6.1.2.4. @PathVariable 注意事项
6.1.3. RequestMapping with Request Parameters - @RequestParam
6.1.3.1. HTTP GET
6.1.3.2. HTTP POST
6.1.3.3. @RequestParam 传递特殊字符串
6.1.3.4. 传递日期参数
6.1.4. @RequestBody
6.1.4.1. @RequestBody 传递 List
6.1.4.2. 传递 Map 数据
6.1.5. @ModelAttribute
6.1.6. @CookieValue
6.1.7. @RequestHeader
6.1.8. @@SessionAttributes
6.1.9. @ResponseBody
6.1.9.1. 直接返回HTML
6.1.10. ModelAndView
6.1.10.1. 变量传递
6.1.10.2. ModelMap 传递多个变量
6.1.10.3. redirect
6.1.10.4. ArrayList
6.1.10.5. HashMap
6.1.10.6. 传递对象
6.1.10.7.
6.1.11. @CrossOrigin
6.1.12. @SessionAttributes
6.1.13. @RequestHeader 从 Http 头中获取变量
6.1.14. HttpServletRequest / HttpServletResponse
6.1.14.1. 用于方法参数
6.1.14.2. 注入方式
6.2. @RestController
6.2.1. 返回实体
6.2.2. JSON
6.2.3. 返回 JSON 对象 NULL 专为 "" 字符串
6.2.4. XML
6.2.5. 兼容传统 json 接口
6.2.6. @PageableDefault 分页
6.3. @Scheduled 计划任务
6.3.1. 每3秒钟一运行一次
6.3.2. 凌晨23点运行
6.4. View
6.4.1. Using Spring’s form tag library
6.4.1.1. css
6.4.1.1.1. cssClass
6.4.1.1.2. cssStyle
6.4.1.1.3. cssErrorClass
6.4.1.2. cssClass
6.4.2. Thymeleaf
6.4.2.1. Maven pom.xml
6.4.2.2. Spring 配置
6.4.2.3. controller
6.4.2.4. HTML5 Template
6.4.3. FreeMarker
6.5. Properties
6.5.1. 载入*.properties文件
6.5.2. @Value 注解
6.5.3. @PropertySource 注解
6.6. FAQ
6.6.1. o.s.web.servlet.PageNotFound
6.6.2. HTTP Status 500 - Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
6.6.3. 同时使用 Thymeleaf 与 JSP
6.6.4. 排除静态内容
6.6.5. HTTP Status 406
6.6.6. Caused by: java.lang.IllegalArgumentException: Not a managed type: class common.domain.Article
7. RestTemplate - Spring4 Restful
7.1. RestTemplate Example
7.1.1. pom.xml
7.1.2. web.xml
7.1.3. springframework.xml
7.1.4. RestController
7.1.5. POJO
7.1.6. 测试
7.2. getForObject
7.2.1. 返回字符串
7.2.2. 传递 GET 参数
7.3. postForObject
7.3.1. 传递对象
7.3.2. 传递数据结构 MultiValueMap
7.4. postForEntity
7.5. PUT
7.6. Delete
7.7. HTTP Auth
7.7.1. Client
7.8. PKCS12
8. Spring Data
8.1. Spring Data Redis
8.1.1. pom.xml
8.1.2. springframework-servlet.xml
8.1.3. Controller
8.1.4. index.jsp
8.1.5. stringRedisTemplate
8.1.6. 删除 key
8.1.7. 测试
8.1.8. ZSET 数据类型
8.1.9. Hash
8.1.10. List
8.1.11. 过期时间未执行
8.1.12. 存储 Json 对象
8.1.12.1. 集成 RedisTemplate 定义新类 JsonRedisTemplate
8.1.12.2. 配置 Redis
8.1.12.3. 测试
8.2. Spring Data MongoDB
8.2.1. Example Spring Data MongoDB
8.2.1.1. pom.xml
8.2.1.2. springframework-servlet.xml
8.2.1.3. POJO
8.2.1.4. Controller
8.2.1.5. 查看测试结果
8.2.1.6. 条件查询
8.2.2. @Document
8.2.2.1. @Indexed
8.2.2.1.1. 普通索引
8.2.2.1.2. 唯一索引
8.2.2.2. @DateTimeFormat
8.2.2.3. @NumberFormat
8.2.2.4. 在 @Document 中使用 Enum 类型
8.2.2.5. 在 @Document 中定义数据结构 List/Map
8.2.3. MongoRepository
8.2.3.1. findAll()
8.2.3.2. deleteAll()
8.2.3.3. save()
8.2.3.4. count()
8.2.3.5. findByXXXX
8.2.3.6. StartingWith 和 EndingWith
8.2.3.7. Between
8.2.3.8. PageRequest
8.2.3.9. @Query
8.2.4. mongoTemplate
8.2.4.1. is
8.2.4.2. Regex 正则表达式搜索
8.2.4.3. lt 和 gt
8.2.4.4. between
8.2.4.5. Criteria
8.2.4.6. Sort
8.2.4.7. Query + PageRequest
8.2.4.8. newAggregation
8.3. Spring Data JPA
8.3.1. 选择数据库表引擎
8.3.2. @Entity
8.3.2.1. @Table
8.3.2.1.1. catalog
8.3.2.1.2. schema
8.3.2.1.3. uniqueConstraints
8.3.2.2. @Id
8.3.2.3. @Column
8.3.2.3.1. 字段长度
8.3.2.3.2. 浮点型
8.3.2.3.3. 创建于更新控制
8.3.2.3.4.
8.3.2.4. @Lob 注解属性将被持久化为 Blog 或 Clob 类型
8.3.2.5. @NotNull 不能为空声明
8.3.2.6. @DateTimeFormat 处理日期时间格式
8.3.2.7. 默认时间规则
8.3.2.7.1. CreatedDate
8.3.2.7.2. 与时间日期有关的 hibernate 注解
8.3.2.7.2.1. 设置默认时间
8.3.2.7.2.2. 创建时间
8.3.2.7.2.3. 更新时间
8.3.2.7.3. 数据库级别的默认创建日期时间定义
8.3.2.7.4. 数据库级别的默认创建日期与更新时间定义
8.3.2.7.5. 最后修改时间
8.3.2.8. 索引
8.3.2.8.1. 普通索引
8.3.2.8.2. 唯一索引
8.3.2.8.3. 复合索引
8.3.2.9. Enum 枚举数据类型
8.3.2.9.1. 实体中处理 enum 类型
8.3.2.9.2. 数据库枚举类型
8.3.2.10. SET 数据结构
8.3.2.11. 整形数据类型
8.3.2.12. JSON 数据类型
8.3.2.13. @JoinColumn
8.3.2.14. @OneToOne
8.3.2.15. OneToMany 一对多
8.3.2.16. ManyToMany 多对多
8.3.2.17. 外键级联删除
8.3.2.18. 其他
8.3.2.18.1. Cascade
8.3.2.18.2. @JsonIgnore
8.3.3. 创建复合主键
8.3.4. 实体集成
8.3.5. Repository
8.3.5.1. findByXXX
8.3.5.2. Boolean
8.3.5.3. 传递枚举参数
8.3.5.4. 翻页操作
8.3.5.5. 排序操作操作
8.3.5.6. OrderBy
8.3.5.7. Query
8.3.5.7.1. 参数传递
8.3.5.7.2. 原生 SQL
8.3.5.7.3. @Query 与 Pageagble
8.3.5.7.4. 返回指定字段
8.3.5.7.5. 返回指定的模型
8.3.5.8. @Transactional
8.3.5.8.1. 删除更新需要 @Transactional 注解
8.3.5.8.2. 回滚操作
8.3.5.9. 锁 @Lock
8.3.6. CrudRepository
8.3.6.1. GreaterThan
8.3.7. JpaRepository
8.4. EntityManager
8.5. JdbcTemplate
8.5.1. execute
8.5.2. queryForInt
8.5.3. queryForInt
8.5.4. queryForObject
8.5.4.1. 返回整形与字符型
8.5.4.2. 查询 Double 类型数据库
8.5.4.3. 返回日期
8.5.4.4. 返回结果集
8.5.4.5. 通过 "?" 向SQL传递参数
8.5.4.6. RowMapper 记录映射
8.5.5. queryForList
8.5.6. queryForMap
8.5.7. query
8.5.7.1. ResultSet
8.5.7.2. ResultSetExtractor
8.5.7.3. RowMapper
8.5.8. queryForRowSet
8.5.9. update
8.5.10.
8.5.11. 实例参考
8.5.11.1. 参数传递技巧
8.6. Elasticsearch
8.6.1. 内嵌 Elasticsearch
8.6.1.1. Maven
8.6.1.2. src/main/resources/application.properties
8.6.1.3. Domain Class
8.6.1.4. ElasticsearchRepository
8.6.1.5. SearchRestController
8.6.1.6. 测试
8.6.2. 集群模式
8.6.3. Document
8.6.4. Elasticsearch 删除操作
8.6.5. FAQ
8.6.5.1. java.lang.IllegalStateException: Received message from unsupported version: [2.0.0] minimal compatible version is: [5.0.0]
8.7. Spring Data FAQ
8.7.1. No identifier specified for entity
8.7.2. Oracle Date 类型显示日期和时间
8.7.3. java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
8.7.4. Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query
9. Spring Security
9.1. 配置 Spring Security
9.1.1. 禁用 Security
9.2. EnableWebSecurity
9.2.1. 访问控制列表(Access Control List,ACL)
9.2.2. WebSecurity
9.2.3. HTTP Auth
9.2.4. Rest
9.2.5. hasRole
9.2.6. Add User
9.3. 获取当前用户
9.4. HTTP 安全
10. Interceptor
10.1. WebMvcConfigurerAdapter
10.2. HandlerInterceptor
11. Spring Cloud
11.1. Spring Cloud Config
11.1.1. Git 仓库
11.1.1.1. 分支
11.1.1.2. HTTP Auth
11.1.1.3. basedir
11.1.1.4. 本地git仓库
11.1.2. Server
11.1.2.1. Maven
11.1.2.2. Application
11.1.2.3. application.properties
11.1.2.4. 测试服务器
11.1.3. Client
11.1.3.1. Maven pom.xml
11.1.3.2. Application
11.1.3.3. bootstrap.properties
11.1.3.4. 测试 client
11.1.4. Config server 用户认证
11.1.4.1. Server 配置
11.1.4.1.1. application.properties
11.1.4.1.2. Maven
11.1.4.1.3. 测试是否生效
11.1.4.2. Client 配置
11.1.5. 加密敏感数据
11.1.6. Spring Cloud Config JDBC Backend
11.1.6.1.
11.1.6.2.
11.1.6.3.
11.1.6.4. application.properties
11.1.7. Old
11.1.7.1. Server (Camden.SR5)
11.1.7.2. Client (Camden.SR5)
11.2. Spring Cloud Netflix
11.2.1. Eureka Server
11.2.1.1. Maven
11.2.1.2. Application
11.2.1.3. application.properties
11.2.1.4. 检查注册服务器
11.2.1.5. 为 Eureka Server 增加用户认证
11.2.1.5.1. Maven
11.2.1.5.2. application.properties
11.2.1.5.3. Eureka Client
11.2.1.5.4. Feign Client
11.2.2. Eureka Client
11.2.2.1. Maven
11.2.2.2. Application
11.2.2.3. RestController
11.2.2.4. application.properties
11.2.2.5. 测试
11.2.3. Feign client
11.2.3.1. Maven
11.2.3.2. Application
11.2.3.3. interface
11.2.3.4. application.properties
11.2.3.5. 测试
11.2.3.6. fallback
11.2.4. Zuul
11.2.4.1. Maven
11.2.4.2. EnableZuulProxy
11.2.4.3. application.yml
11.2.4.4. 负载均衡配置
11.3. Spring Cloud Finchley
11.4. Spring Cloud 相关的 application.properties 配置
11.4.1. 启用或禁用 bootstrap
11.5. FAQ
11.5.1. Feign请求超时
11.5.2. 已停止的微服务节点注销慢或不注销
11.5.3. Eureka Client (Dalston.SR1)
11.5.3.1. Maven
11.5.3.2. Application
11.5.3.3. RestController
11.5.3.4. application.properties
11.5.3.5. 测试
11.5.4. Feign 启动出错 PathVariable annotation was empty on param 0.
11.5.5. Feign 提示 Consider defining a bean of type 'common.feign.Cms' in your configuration.
12. SpringBootTest
12.1.
12.2. 测试类
12.2.1. Junit基本注解介绍
12.3.
12.3.1. Assert.assertEquals 判断相等
12.3.2. Assert.assertTrue
12.4. Controller单元测试
12.5. JPA 测试
13. Tomcat Spring 运行环境
13.1. Maven
13.2. Spring Boot Quick start
13.2.1. pom.xml
13.2.2. Controller
13.3. Spring MVC configuration
13.4. Tomcat
13.5. 集成 Mybatis
13.5.1. pom.xml
13.5.2. properties
13.5.3. dataSource
13.5.4. SqlSessionFactory
13.5.5. Mapper 扫描
13.5.6. Mapper 单一class映射
13.5.7. Service
13.5.8. 测试实例
14. Miscellaneous
14.1. Object to Json
14.2. Json To Object
15. MyBatis
15.1. Mybatis 入门
15.2. 接口注解
16. Apache Struts
16.1. struts.xml
16.1.1. include
16.2. Struts Tags
16.2.1. property
16.2.2. set
16.2.3. url
16.2.4. s:include
16.2.5. s:action
16.2.6. HTML Form
16.2.6.1. form
16.2.6.2. textfield
16.2.6.3. s:hidden
16.2.6.4. select
16.2.7. iterator
16.2.8. if elseif else
16.3. Action
16.3.1. redirect
16.3.2. redirectAction
16.3.3. JSON
16.3.3.1. enableGZIP 压缩传输
16.3.3.2. excludeProperties 排除 Properties
16.3.3.3.
16.3.4. 传递 Timestamp 变量
16.4. Ajax + JSON
16.4.1. GET/POST JSON
16.5. Json 内容展示
16.5.1. 禁止方法
16.5.2. 格式化日期
16.5.3. 重命名变量名
16.5.4. org.apache.struts2.json
16.6. Interceptor
16.6.1. Session
16.7. Action 中使用线程
16.8. 日志
16.9. FAQ
16.9.1. Struts 怎样判断用户来自电脑还是移动设备
17. Apache Tiles
17.1. 配置 Tiles
17.1.1. Maven
17.1.2. web.xml
17.2. Template 配置模板
17.3. Struts tiles
18. Play
19. Log
19.1. Logback
19.1.1. Maven 包
19.1.2. Example
19.2. slf4j
19.3. log4j
19.3.1. 安装 Log4j
19.3.1.1. 手工安装
19.3.1.2. Maven
19.3.2. log4j 环境变量
19.3.3. Log4j Example
19.3.4. log4j.properties
20. JSON (JavaScript Object Notation)
20.1. javax.json.*
20.1.1. Json 编码
20.1.2. Json 解码
20.1.3. URL获取Json
20.2. com.google.gson
20.2.1. map 处理
20.2.2. POJO
20.2.3. toJson
20.2.4. fromJson
20.2.5. JsonParser
20.2.6. Exmaple 范例
20.2.6.1. Map to Json
20.2.7. Exmaple 范例
20.2.7.1. Map to Json
20.2.8. 处理复杂的类型
21. AMQP(Advanced Message Queuing Protocol)
21.1. Send and Recv
21.2. direct
22. NoSQL
22.1. MongoDB
22.1.1. pom.xml
22.1.2. 插入操作
22.1.3. 读取操作
23. Elasticsearch API
23.1. Client
23.2. insert
23.3. Get
23.4. delete
23.5. Search
23.6. Query 查询
23.6.1. match all 匹配所有数据
23.6.2. match 匹配查询
23.6.3. match phrase 短语精准匹配
23.7. Filter 过滤
23.7.1. term
23.7.2. range
23.8. Sorting
23.9. 返回 Source 字段
23.10. Count
23.11. Example 范例
23.11.1. Spring boot 案例
23.12. FAQ
23.12.1. 显示查询 JSON 字符串
24. Jersey - RESTful Web Services in Java.
24.1. Client 2.x
24.1.1. Maven 版本
24.1.2. GET 操作
24.1.3. GET + Auth 用户认证
24.2. Client 1.x
24.2.1. Jersey + Auth + HTTP2 + SSL
25. Apache HttpComponents
25.1. org.apache.commons.lang3
25.1.1. HTML 标签处理
25.1.2. StringUtils.join 使用特定字符链接字符串
25.2. Apache HttpClient
25.2.1. Maven
25.2.2. HTTP POST 操作
25.2.2.1. Post Data
25.2.2.2. POST RAW 数据
25.2.3. HTTPS
25.2.3.1. Get https 接口
25.2.3.2. POST json 数据
25.2.4. Host name 'api.netkiller.cn' does not match the certificate subject provided
26. Cache
26.1. java memcached client
26.2. Jedis
26.2.1. 认证
26.2.2. jedis.keys
26.3. Ehcache
27. Kafka
27.1. 安装 Kafka 环境
27.2. Maven
27.3. 启动 kafka
27.4. 入门例子
27.4.1. 订阅例子
27.4.2. 发布例子
27.5. 线程例子
28. Software Development Kit
28.1. Hessian
28.2. quartz-scheduler
28.3. Redisson
29. Android
29.1. Android Studio
29.2. AndroidManifest.xml
29.2.1. 开启网络
29.3. Layout
29.3.1.

范例清单

1.1. /etc/profile.d/java.sh
2.1. Maven properties
5.1. Example Spring boot with Oracle
5.2. Spring boot with Email (pom.xml)
5.3. Spring boot with Velocity template (pom.xml)
5.4. RedisTemplate
5.5. Spring boot with Apache kafka.
5.6. Spring boot with Apache kafka.
5.7. Test Spring Kafka
8.1. Spring Data Redis Example
8.2. Spring Data MongoDB - springframework-servlet.xml
11.1. Share feign interface.
13.1. MyBatis
26.1. memcached.java