Home | 簡體中文 | 繁體中文 | 雜文 | 打賞(Donations) | OSChina 博客 | Facebook | Linkedin | 知乎專欄 | Search | About

Netkiller Java 手札

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

Mr. Neo Chan, 陳景峯(BG7NYT)


中國廣東省深圳市龍華新區民治街道溪山美地
518131
+86 13113668890


文檔始創于2015-11-10

版權聲明

轉載請與作者聯繫,轉載時請務必標明文章原始出處和作者信息及本聲明。

文檔出處:
http://netkiller.github.io
http://netkiller.sourceforge.net

微信掃瞄二維碼進入 Netkiller 微信訂閲號

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.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. String
1.4.1.1. 隨機字元串
1.4.1.2. 字元串替換處理
1.4.1.2.1. 正則表達式查找與替換
1.4.1.3. substring
1.4.1.4. string to timestamp
1.4.2. 類型轉換
1.4.2.1. Long to String
1.4.3. Date
1.4.3.1. SimpleDateFormat
1.4.3.2. Timestamp
1.4.3.3. TimeZone
1.4.3.4. String to Date
1.4.3.5. 比較兩個日期與時間
1.4.3.6. Calendar
1.4.3.7. getToday
1.4.3.8. Yesterday
1.4.3.9. ISO 8601
1.4.4. Array
1.4.4.1. for each
1.4.4.2. Array to String
1.4.5. float
1.4.6. double
1.4.7. BigDecimal
1.4.7.1. Convert BigDecimal Object to double value
1.4.8. 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. Reflection 反射
1.9.1. 獲得所有變數
1.9.2. 批量賦值
1.9.3. 方法操作
1.9.3.1. 獲得所有方法
1.9.3.2. set/get 方法
1.9.3.3. static 方法調用
1.10. Thread 綫程
1.10.1. 實現非同步執行
1.10.2. 整合 Thread 類實現多綫程
1.10.3. 實現 Runnable 介面
1.11. java 腳本引擎
1.11.1. Maven
1.11.2. Helloworld
1.11.3. 運行腳本檔案
1.11.4. 變數傳遞
1.11.5. 全局變數與局部變數定義
1.11.6. 調用腳本中的函數或方法
1.11.7. 腳本編譯
1.11.8. jjs - Invokes the Nashorn engine.
1.12. Crypto
1.12.1. MD5
1.12.2. AES
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. 日誌寫入 MongoDB
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. Connection and Statement Pooling
5.11.1. org.apache.tomcat.jdbc.pool.DataSource
5.11.2. druid
5.11.3. c3p0 - JDBC3 Connection and Statement Pooling
5.11.4. dbcp2
5.11.5. bonecp
5.11.6. dbcp2
5.12. Spring boot with MongoDB
5.12.1. Maven
5.12.2. Application
5.12.3. MongoTemplate
5.12.4. Repository
5.13. Spring boot with MySQL
5.13.1. Maven
5.13.2. Resource
5.13.3. Application
5.13.4. JdbcTemplate
5.13.5. CrudRepository
5.14. Spring boot with Oracle
5.14.1. Maven
5.14.2. application.properties
5.14.3. Application
5.14.4. CrudRepository
5.14.5. JdbcTemplate
5.14.6. Controller
5.15. Spring boot with PostgreSQL
5.15.1. pom.xml
5.15.2. application.properties
5.15.3. Application
5.15.4. CrudRepository
5.15.5. JdbcTemplate
5.15.6. Controller
5.15.7. Test
5.16. Spring boot with Email
5.16.1. Maven
5.16.2. Resource
5.16.3. POJO
5.16.4. RestController
5.16.5. Test
5.17. Spring boot with Velocity template
5.17.1. Maven
5.17.2. Resource
5.17.3. Application
5.17.4. RestController
5.17.5. Test
5.18. Spring boot with Thymeleaf
5.18.1. Maven
5.18.2. application.properties
5.18.3. Controller
5.18.4. HTML5 Template
5.19. Spring boot with Spring security
5.19.1. Maven
5.19.2. Reource
5.19.3. Application
5.19.4. WebSecurityConfigurer
5.19.5. RestController
5.19.6. 測試
5.19.7. Spring + Security + MongoDB
5.19.7.1. Account
5.19.7.2. AccountRepository
5.19.7.3. WebSecurityConfiguration
5.20. Spring boot with Oauth2
5.20.1. Maven
5.20.2. Password tools
5.20.3. Server
5.20.3.1. Maven
5.20.3.2. application.properties
5.20.3.3. EnableAuthorizationServer
5.20.3.4. EnableResourceServer
5.20.3.5. Entity Table
5.20.3.6. UserRepository
5.20.3.7. UserService
5.20.3.8. TestRestController
5.20.3.9. 資料庫初始化
5.20.3.10. Test
5.20.4. Spring boot with Oauth2 RestTemplate
5.20.4.1. Maven
5.20.4.2. OAuth2ClientConfiguration.java
5.20.4.3. Application.java
5.20.4.4. application.properties
5.20.4.5. Controller
5.20.4.6. Test
5.21. Spring boot with Scheduling
5.21.1. Application.java
5.21.2. Component
5.21.3. 查看日誌
5.21.4. 計劃任務控制
5.22. Spring boot with Cache
5.22.1. Spring boot with Redis
5.22.1.1. maven
5.22.1.2. application.properties
5.22.1.3. JUnit
5.22.1.4. Controller
5.22.2. @Cacheable
5.22.2.1. maven
5.22.2.2. Controller
5.23. Spring boot with Hessian
5.23.1. Maven
5.23.2. Application
5.23.3. HessianServiceExporter
5.23.4. Service
5.23.5. RestController
5.24. Spring boot with Apache Kafka
5.24.1. 安裝 kafka
5.24.2. maven
5.24.3. Spring boot Application
5.24.4. EnableKafka
5.24.5. KafkaListener
5.24.6. 測試
5.24.7. 完整的發佈訂閲實例
5.24.7.1. Consumer
5.24.7.2. Producer
5.24.7.3. Test
5.24.8. Spring cloud with Kafka
5.24.8.1. Application 主檔案
5.24.8.2. 資源配置檔案
5.24.8.2.1. application.properties
5.24.8.2.2. bootstrap.properties
5.24.8.2.3. Git 倉庫
5.24.8.3. 啟用 kafka
5.24.8.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. Spring boot with Docker
5.33.1.
5.33.2.
5.33.3.
5.33.4.
5.34. SpringBootTest
5.34.1.
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. HttpServletRequest / HttpServletResponse
6.1.13.1. 用於方法參數
6.1.13.2. 注入方式
6.2. @RestController
6.2.1. 返回實體
6.2.2. JSON
6.2.3. XML
6.2.4. 兼容傳統 json 介面
6.2.5. @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. 刪除 key
8.1.6. 測試
8.1.7. ZSET 數據類型
8.1.8. Hash
8.1.9. List
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. @Entity
8.3.1.1. @Id
8.3.1.2. @Table
8.3.1.2.1. catalog
8.3.1.2.2. schema
8.3.1.2.3. uniqueConstraints
8.3.1.3. @Column
8.3.1.3.1. 欄位長度
8.3.1.3.2. 浮點型
8.3.1.3.3. 創建於更新控制
8.3.1.4. @NotNull 不能為空聲明
8.3.1.5. @DateTimeFormat 處理日期時間格式
8.3.1.6. 預設時間規則
8.3.1.6.1. CreatedDate
8.3.1.6.2. 與時間日期有關的 hibernate 註解
8.3.1.6.2.1. 設置預設時間
8.3.1.6.2.2. 創建時間
8.3.1.6.2.3. 更新時間
8.3.1.6.3. 資料庫級別的預設創建日期時間定義
8.3.1.6.4. 資料庫級別的預設創建日期與更新時間定義
8.3.1.6.5. 最後修改時間
8.3.1.7. 索引
8.3.1.8. Enum 枚舉數據類型
8.3.1.8.1. 實體中處理 enum 類型
8.3.1.8.2. 資料庫枚舉類型
8.3.1.9. 整形數據類型
8.3.1.10. @JoinColumn
8.3.1.11. @OneToOne
8.3.1.12. OneToMany 一對多
8.3.1.13. ManyToMany 多對多
8.3.1.14. 外鍵級聯刪除
8.3.1.15. 其他
8.3.1.15.1. Cascade
8.3.1.15.2. @JsonIgnore
8.3.2. 實體整合
8.3.3. Repository
8.3.3.1. 傳遞枚舉參數
8.3.3.2. 翻頁操作
8.3.3.3. 排序操作操作
8.3.3.4. OrderBy
8.3.3.5. Query
8.3.3.5.1. 參數傳遞
8.3.3.6. @Transactional
8.3.3.6.1. 刪除更新需要 @Transactional 註解
8.3.3.6.2. 回滾操作
8.3.4. CrudRepository
8.3.4.1. GreaterThan
8.3.5. JpaRepository
8.4. EntityManager
8.5. JdbcTemplate
8.5.1. execute
8.5.2. queryForInt
8.5.3. queryForObject
8.5.3.1. 返回整形與字元型
8.5.3.2. 查詢 Double 類型資料庫
8.5.3.3. 返回日期
8.5.3.4. 返回結果集
8.5.3.5. 通過 "?" 向SQL傳遞參數
8.5.3.6. RowMapper 記錄映射
8.5.4. queryForList
8.5.5. queryForMap
8.5.6. query
8.5.6.1. ResultSet
8.5.6.2. ResultSetExtractor
8.5.6.3. RowMapper
8.5.7. queryForRowSet
8.5.8. update
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. Old
11.1.6.1. Server (Camden.SR5)
11.1.6.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 相關的 application.properties 配置
11.3.1. 啟用或禁用 bootstrap
11.4. FAQ
11.4.1. Feign請求超時
11.4.2. 已停止的微服務節點註銷慢或不註銷
11.4.3. Eureka Client (Dalston.SR1)
11.4.3.1. Maven
11.4.3.2. Application
11.4.3.3. RestController
11.4.3.4. application.properties
11.4.3.5. 測試
11.4.4. Feign 啟動出錯 PathVariable annotation was empty on param 0.
11.4.5. Feign 提示 Consider defining a bean of type 'common.feign.Cms' in your configuration.
12. Tomcat Spring 運行環境
12.1. Maven
12.2. Spring Boot Quick start
12.2.1. pom.xml
12.2.2. Controller
12.3. Spring MVC configuration
12.4. Tomcat
12.5. 整合 Mybatis
12.5.1. pom.xml
12.5.2. properties
12.5.3. dataSource
12.5.4. SqlSessionFactory
12.5.5. Mapper 掃瞄
12.5.6. Mapper 單一class映射
12.5.7. Service
12.5.8. 測試實例
13. Miscellaneous
13.1. Object to Json
13.2. Json To Object
14. MyBatis
14.1. Mybatis 入門
14.2. 介面註解
15. Apache Struts
15.1. struts.xml
15.1.1. include
15.2. Struts Tags
15.2.1. property
15.2.2. set
15.2.3. url
15.2.4. s:include
15.2.5. s:action
15.2.6. HTML Form
15.2.6.1. form
15.2.6.2. textfield
15.2.6.3. s:hidden
15.2.6.4. select
15.2.7. iterator
15.2.8. if elseif else
15.3. Action
15.3.1. redirect
15.3.2. redirectAction
15.3.3. JSON
15.3.3.1. enableGZIP 壓縮傳輸
15.3.3.2. excludeProperties 排除 Properties
15.3.3.3.
15.3.4. 傳遞 Timestamp 變數
15.4. Ajax + JSON
15.4.1. GET/POST JSON
15.5. Json 內容展示
15.5.1. 禁止方法
15.5.2. 格式化日期
15.5.3. 重命名變數名
15.5.4. org.apache.struts2.json
15.6. Interceptor
15.6.1. Session
15.7. Action 中使用綫程
15.8. 日誌
15.9. FAQ
15.9.1. Struts 怎樣判斷用戶來自電腦還是移動設備
16. Apache Tiles
16.1. 配置 Tiles
16.1.1. Maven
16.1.2. web.xml
16.2. Template 配置模板
16.3. Struts tiles
17. Play
18. Log
18.1. Logback
18.1.1. Maven 包
18.1.2. Example
18.2. slf4j
18.3. log4j
18.3.1. 安裝 Log4j
18.3.1.1. 手工安裝
18.3.1.2. Maven
18.3.2. log4j 環境變數
18.3.3. Log4j Example
18.3.4. log4j.properties
19. JSON (JavaScript Object Notation)
19.1. javax.json.*
19.1.1. Json 編碼
19.1.2. Json 解碼
19.1.3. URL獲取Json
19.2. com.google.gson
19.2.1. map 處理
19.2.2. POJO
19.2.3. toJson
19.2.4. fromJson
19.2.5. JsonParser
19.2.6. Exmaple 範例
19.2.6.1. Map to Json
19.2.7. Exmaple 範例
19.2.7.1. Map to Json
19.2.8. 處理複雜的類型
20. AMQP(Advanced Message Queuing Protocol)
20.1. Send and Recv
20.2. direct
21. NoSQL
21.1. MongoDB
21.1.1. pom.xml
21.1.2. 插入操作
21.1.3. 讀取操作
22. Elasticsearch API
22.1. Client
22.2. insert
22.3. Get
22.4. delete
22.5. Search
22.6. Query 查詢
22.6.1. match all 匹配所有數據
22.6.2. match 匹配查詢
22.6.3. match phrase 短語精準匹配
22.7. Filter 過濾
22.7.1. term
22.7.2. range
22.8. Sorting
22.9. 返回 Source 欄位
22.10. Count
22.11. Example 範例
22.11.1. Spring boot 案例
22.12. FAQ
22.12.1. 顯示查詢 JSON 字元串
23. Jersey - RESTful Web Services in Java.
23.1. Client 2.x
23.1.1. Maven 版本
23.1.2. GET 操作
23.1.3. GET + Auth 用戶認證
23.2. Client 1.x
23.2.1. Jersey + Auth + HTTP2 + SSL
24. Apache HttpComponents
24.1. org.apache.commons.lang3
24.1.1. HTML 標籤處理
24.1.2. StringUtils.join 使用特定字元連結字元串
24.2. Apache HttpClient
24.2.1. Maven
24.2.2. HTTP POST 操作
24.2.2.1. Post Data
24.2.2.2. POST RAW 數據
24.2.3. HTTPS
24.2.3.1. Get https 介面
24.2.3.2. POST json 數據
24.2.4. Host name 'api.netkiller.cn' does not match the certificate subject provided
25. Cache
25.1. java memcached client
25.2. Jedis
25.2.1. 認證
25.2.2. jedis.keys
25.3. Ehcache
26. Kafka
26.1. 安裝 Kafka 環境
26.2. Maven
26.3. 入門例子
26.3.1. 訂閲例子
26.3.2. 發佈例子
26.4. 綫程例子
27. Software Development Kit
27.1. Hessian
27.2. quartz-scheduler
27.3. Redisson
28. Android
28.1. Android Studio
28.2. AndroidManifest.xml
28.2.1. 開啟網絡
28.3. Layout
28.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.
12.1. MyBatis
25.1. memcached.java