TODO: 尚未整理完成
The 2020 Java Developer RoadMap
Top 20 Libraries and APIs Java Developer should know
Exception
Java筆記 — Exception 與 Error - Carl - Medium
io close
Java:浅谈InputStream的close方法 - 白羊沈歌 - 博客园
Java OutputStream.close()关闭并释放输出流资源
Snailclimb/JavaGuide: 【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。
Memory-mapped File
Java中Stream和Memory-mapped File的I/O性能对比 - Xavier’s Blog
stack /heap 記憶體相關
Java Web
Session
JSP Session | 菜鸟教程
每一個 war 檔 session 都是分開的,可用上面 JSP 測試
spring core
介绍 | 走心的Java Web入门开发教程
開源框架: Spring Gossip
ApplicationContext 与 BeanFactory 区别 - 掘金
Spring Container | securenai SITE
Spring第一篇【介绍Spring、引入Spring、Spring六大模块】 - 掘金
Spring|@Autowired与new的区别 - 无聊的三文鸡 - 博客园
autowired 動態
java - how to use ‘@Qualifier’ dynamically specifying parameters? - Stack Overflow
spring - 如何使用运行时“限定符”变量动态注入服务? - IT工具网
autowired 常見錯誤
Autowired · Brian的雜記
@Autowired和static的关系 - 左手程序,右手诗 - 博客园
Class
com.google.gson.annotations.Expose
GSON
《Android》『JSON & GSON』- GSON 的基本程式語法教學 (下) - 賽肥膩膩の食旅生活誌
JAVA IO
無邊界的想像力: Java SE 入門教學 - IO 流
java读取文件API速度对比_Java_fengxingzhe001的专栏-CSDN博客
Java讀取寫出檔案FileReader和FileWriter | CYL菜鳥攻略 - 點部落
java.io.BufferedWriter
java.io.ByteArrayOutputStream
java.io.FileInputStream
java.io.FileOutputStream
java.io.IOException
java.io.PrintWriter
java.io.Serializable
java.io.Writer
java.io.File
要曲檔名 file.getName
路徑 file.getPath 會包含檔名
要怎麼曲資料夾路徑
java - How do I get a file’s directory using the File object? - Stack Overflow
File.getParent() 可能會抓到 null1
2File file = new File("test.txt");
String parent = file.getParent();
所以推薦
1 | parent = file.getAbsoluteFile().getParent(); |
Path
1 | File file = new File("C:/my.ini"); |
MATH
java.math.BigDecimal
ip
java.net.InetAddress
InetAddress (Java Platform SE 7 )
InetAddress 類別
利用Java獲得IP地址 @ Java 咖啡 :: 隨意窩 Xuite日誌
處理時間格式
java.text.SimpleDateFormat
Java:日期時間格式化輸出入處理:Date、Calendar、SimpleDateFormat @ 符碼記憶
java.util
Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
java.util.ArrayList
java.util.Calendar
java.util.Collections
java.util.Date
java.util.HashMap
java.util.HashSet
java.util.LinkedHashMap
java.util.List
java.util.Map
java.util.Set
java.util.UUID
javax.crypto.IllegalBlockSizeException
JAVA实现AES加密-云栖社区-阿里云
javax.persistence
Java Persistence is the API for the management for persistence and object/relational mapping.
javax.persistence.Column
javax.persistence.Entity
javax.persistence.FetchType
javax.persistence.GeneratedValue
javax.persistence.GenerationType
javax.persistence.Id
javax.persistence.JoinColumn
javax.persistence.ManyToOne
javax.persistence.SequenceGenerator
javax.persistence.Table
javax.persistence.Temporal
javax.persistence.TemporalType
javax.servlet.http.HttpServletRequest
javax.servlet.http.HttpServletResponse
net.sf.json.JSONObject
JSON用法—net.sf.json.JSONObject_Java_午夜阳光-CSDN博客
org.apache.commons.io.FileUtils
org.apache.commons.io.FileUtils 详解Java蚩尤后裔-CSDN博客
Apache Commons工具集简介 - 坚持学习 - ITeye博客
org.apache.commons.lang.builder.ToStringBuilder
org.apache.commons.lang.builder.ToStringStyle
org.apache.commons.lang.StringUtils
Commons Lang使用ToStringBuilder - 就是愛Java
[Java基础]StringUtils.join()方法与String.join()方法的使用_Java_YuanMxy’Home-CSDN博客
org.apache.commons.io.IOUtils
java - Should I close the InputStream of org.apache.commons.io.IOUtils - Stack Overflow
Javalogy–Java的學習筆記: Commons Logging
org.apache.commons.logging.Log
org.apache.commons.logging.LogFactory
org.apache.log4j.Logger
Apache POI超鏈接 - POI基礎教程
org.apache.poi.ss.usermodel.Row
org.apache.poi.xssf.usermodel.XSSFRow
org.apache.poi.xssf.usermodel.XSSFSheet
org.apache.poi.xssf.usermodel.XSSFWorkbook
org.hibernate.Query
第二個 Hibernate
org.junit.runner.RunWith
org.junit.Test
JUnit 5和JUnit 4比较_Java_javaZhong的博客-CSDN博客
使用 JUnit 4.x
org.springframework.beans.BeanUtils
Spring 中的BeanUtils与apache中的BeanUtils差别_Java_langqiao123的专栏-CSDN博客
org.springframework.beans.factory.annotation.Autowired
IoC - Annotation (@Autowired) - 史帝芬心得筆記
org.springframework.beans.factory.annotation.Qualifier
详解@Autowired、@Qualifier和@Required_Java_Benjamin-CSDN博客
org.springframework.context.support.AbstractApplicationContext
org.springframework.context.support.ClassPathXmlApplicationContext
Spring 入门学习二之IOC - 个人文章 - SegmentFault 思否
org.springframework.stereotype.Repository
org.springframework.stereotype.Service
SSM简单整合教程&测试事务 - 东北小狐狸 - 博客园
Day 8 Spring MVC-@Service的使用 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
org.springframework.test.context.ContextConfiguration
Sprin g整合 JUnit4 测试时,使用 @ContextConfiguration 注解引入多个配置文件_Java_HeatDeath的博客-CSDN博客
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
org.springframework.transaction.annotation.Propagation
Spring中@Transactional用法詳細介紹 | 程式前沿
org.springframework.transaction.annotation.Transactional
框架源码系列十一:事务管理(Spring事务管理的特点、事务概念学习、Spring事务使用学习、Spring事务管理API学习、Spring事务源码学习) - 小不点啊 - 博客园
透彻的掌握 Spring 中@transactional 的使用
org.springframework.web.bind.ServletRequestUtils
Spring中好用的工具类 - 作业部落 Cmd Markdown 编辑阅读器
Calendar
為什麼不建議使用Date,而是使用Java8新的時間和日期API? - IT閱讀
Struts
詳細教學
Struts2第二篇【开发步骤、执行流程、struts - 掘金
Struts2第三篇【Action开发方式、通配符、Struts常量、跳转全局视图、action节点默认配置】 - 掘金
Spring第四篇【Intellij idea环境下、Struts2和Spring整合】 - 掘金
Struts2第五篇【类型转换器、全局、局部类型转换器】 - 掘金
Struts2第六篇【文件上传和下载】 - 掘金
Struts2第七篇【介绍拦截器、自定义拦截器、执行流程、应用】 - 掘金
Struts第八篇【资源国际化、对比JSP的资源国际化】 - 掘金
Struts2第九篇【OGNL、valueStack详解】 - 掘金
Struts2第十一篇【简单UI标签、数据回显】 - 掘金
Struts2第十二篇【模型驱动】 - 掘金
Struts2第十三篇【防止表单重复提交拦截器】 - 掘金
Struts2的配置 struts.xml Action詳解 | 程式前沿
數據封裝
struts2 最近使用發現他在表單傳送 input 值真的很方便
只要對 Java 做 getXxxx , setXxxx (動態) 就能做很多設定
後來查到這名詞是數據封裝
有很多種方式很已做到
詳細如:struts2(二) 表单参数自动封装和参数类型自动转换 - 漂泊在外的程序员老王 - 博客园
struts2转换器详解_Java_xtayfjpk的专栏-CSDN博客
struts.xml
- Struts2配置文件【代码库】 - 掘金
- 7、struts.xml配置详解 - 暗夜亡灵 - 博客园
- Struts 2 result详解 - 簡書
- java - How to return HTTP error status code and content in Struts2 - Stack Overflow(未測試)
- 菜鸟学Struts2——Results - 92年程序员 - 博客园
最佳程式路徑
曾經第一次接觸使用 strut2
我常用 XML 設定如下
1 | <package name="vvvv" namespace="/vvvv" extends="struts-default"> |
通常一個 class 跟 method 對應一個設定
但我發現 xml 的 action method 設定不一定要放(預設是 execute)
每一個 method 不一定需要設定 不一定要放多個 tag 如範例
只要設定一個 action 就能做到了
可參考下面設定
1 | <action name="oooo" class="com.oooo.action.XxxxAction"> |
其他,看到優良設定1
2
3
4
5
6<package name="user" namespace="/" extends="struts-default">
<action name="*user" class="com.zzjmay.action.VaildateAction" method="{1}">
<result name="success">/success.jsp</result>
<result name="input">/{1}.jsp</result>
</action>
</package>
- name:邏輯上的包名
- namespace:名稱空間,用來區分同意struts下的相同action(注意是一種邏輯上的的路徑)
- extends: 繼承某個配置檔案
- abstract
- name:Action類的對映名稱
- class:Action類的完整路徑
- method:預設使用的execute()方法,如果要自定義觸發方法,需要使用method自定義
Struts2的配置 struts.xml Action詳解 | 程式前沿
還有更彈性設定
1 | <action name="user_*_*" method="user{2}" class="com.gopain.{1}"> |
假如請求為,user_UserAction_login(不考慮namespace),其中 action中{1} 為UserAction,{2}為login,此請求會執行com.gopain.UserAction$userlogin().如果返回值為」type_login「,則會跳轉到login_page.jsp頁面。
此處只是舉例,站點不宜這樣配置請求。但是對於action的name配置很實用,不要奢望一個action配置完整個站點(雖然也可以實現,而且對於訪問沒有太多影響),十分不利於管理。
————————————————
版权声明:本文为CSDN博主「gopain」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gopain/java/article/details/40790523
參考:[Struts2] 配置文件struts.xml和web.xml詳解_網絡_gopain-CSDN博客
管理上還請斟酌,不過用第二個方法就很方便了
與 spring 設定
struts2默认拦截器之autowiring_Java_shendeguang的专栏-CSDN博客
action 到 jsp 傳值
struts2中action传值到jsp页面的3种方法 - 开源中国首席吊炸天的个人空间 - OSCHINA
struts2 錯誤處理
攔截器
- Struts2【拦截器】就是这么简单 - 知乎
<interceptor-stack name="defaultStack">
宣告攔截器…
JSON 設定
1 | <package name="default" namespace="/" extends="json-default"> |
更多設定可參考
JSON plugin
下載檔案
1 | <result name="download" type="stream"> |
在上述配置代碼中,分別通過 stream 結果類型的屬性設置了所要下載文件的類型、名稱和輸入流。其中 ${filename} 表示在項目運行時,將 action 中的 filename 屬性動態地填充在 ${} 中間部分,這樣就可以動態地獲取所要下載的文件名稱。
通常上述關係,會做 setFileName(xxx)
移除 url .action
在 struts.xml 加入 tag 可以解決這個問題1
2
3<struts>
<constant name="struts.action.extension" value=""/>
</struts>
不過我發現預設是 ,,action ,代表.action 跟空白也可以使用
上述詳細教學第三章有提到
java - Struts 2 - Removing action from url - Stack Overflow
如何刪除Struts2動作的後綴擴展名 - Struts2教學
Hibernate
Hibernate第一篇【介绍Hibernate,简述ORM,快速入门】 - 掘金
Hibernate第二篇【API讲解、执行流程图】 - 掘金
Hibernate第三篇【主配置文件、映射文件、复合主键映射】 - 掘金
Hibernate第五篇【inverse、cascade属性详解】 - 掘金
Hibernate第六篇【多对多映射、一对一映射】 - 掘金
Hibernate第七篇【对象状态、一级缓存】 - 掘金
Hibernate第八篇【懒加载】 - 掘金
Hibernate第九篇【组件映射、继承映射】 - 掘金
Hibernate第十篇【Hibernate查询详解、分页查询】 - 掘金
Hibernate第十一篇【配置C3P0数据库连接池、线程Session】 - 掘金
Hibernate第十二篇【二级缓存介绍、缓存策略、查询缓存、集合缓存】 - 掘金
Hibernate占位符问题[use named parameters or JPA-style positional parameters instead.]
Hibernate占位符问题[use named parameters or JPA-style positional parameters instead.]Java鹏霄万里展雄飞-CSDN博客
OpenSessionInViewFilter
- [转]Spring配置之OpenSessionInViewFilter - yunlvrensheng - 博客园
- ssh中org.springframework.orm.hibernate4.support.OpenSessionInViewFilter的作用及配置 - 243573295 - 博客园
其他為整理
thymeleaf的下拉框(select option)回显选中Java皮皮鹏的博客-CSDN博客
Struts2 和 springMVC 的區別 - IT閱讀
Struts2 Spring Hibernate的工作流程及原理(整理的) | 程式前沿
Struts2下載文件實例 - Struts2基礎教程
Java : How to generate serialVersionUID – Mkyong.com
关于tomcat WEB-INF/lib下类加载顺序 - 四少啊 - 博客园
struts2對json的支持 - IT閱讀
SpringApplication你不知道的那些事! - 掘金
菜鳥工程師 肉豬: Spring @Configuration作用
IoC - Annotation (@Configuration) - 史帝芬心得筆記
菜鳥工程師 肉豬: Spring Boot properties file value injection 屬性配置檔注入1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
(
value = { "classpath:my-messages.properties", "classpath:other-messages.properties" },
ignoreResourceNotFound = true,
encoding = "UTF-8"
)
public class DemoApplication {
public static void main(String[] args) {
ApplicationContext appCtx = SpringApplication.run(DemoApplication.class, args);
MyMessages myMessages = appCtx.getBean(MyMessages.class);
OtherMessages otherMessages = appCtx.getBean(OtherMessages.class);
myMessages.printPropertiesValue();
System.out.println("-----------------------");
otherMessages.printPropertiesValue();
}
}
Spring Boot Bean和依赖注入 - Spring Boot教程™
Springboot2教程:@SpringBootApplication自动配置-Java知音
整合Spring时Service层为什么不做全局包扫描详解_慕课手记
用最简单的语言来告诉你:SpringMVC中@Controller,@Service,@repository,@Component的用法 - HelloJava菜鸟社区
构建工具的进化:ant, maven, gradle - 知乎
给女朋友讲解什么是代理模式
解决错误The type List is not generic; it cannot be parameterized with arguments Java瓜爪牛的博客-CSDN博客
Annotation
Java注解(Annotation)原理详解Java心中要有一片海的专栏-CSDN博客
Java:Annotation(注解)–原理到案例 - 簡書
关于Java的Retention元注解 - 摆渡者 - OSCHINA
Java 注解之 元注解 - 知乎 備份圖
裡面講的還滿細的!!
JAXRS
jersey - Difference between JAX-RS and Spring Rest - Stack Overflow
Spring MVC与JAX-RS比较与分析 - InfoQ
spring version
2. New Features and Enhancements in Spring 3.0
[JAVA_Spring]Spring 3.2.2的各類jar說明 @ 程式開發學習之路 :: 痞客邦 ::
Blog of Bruce: Hibernate 4.x 整合 Spring 3.x
Spring:3大核心版本簡介、maven與Spring4構建工程、代碼實戰 - 每日頭條
Spring4新特性——Web开发的增强 - 《亿级流量网站架构核心技术》~ - ITeye博客
Spring 5.x 新特性 - 掘金
SLF4J
java class list
reflection - Java - Get a list of all Classes loaded in the JVM - Stack Overflow
JAVA_OPTS=”$JAVA_OPTS -verbose:class”
ejb
語言技術: EJB3 Gossip
[轉] EJB 3和Spring技術體系比較 - yjmyzz @ IT工程師數位筆記本 :: 痞客邦 ::
簡單鋪設Enterprise Java Bean(EJB)的架構 @ 資訊迴圈 :: 隨意窩 Xuite日誌
1 | java ee基本是在企業裡用的,你編程以前,要配置一大堆xml這樣子,很可能會是javaee |
java ee , java se, java me 怎麼區分? - 知乎
Spring 上課筆記 (2) | Leo Yeh’s Blog
sitemesh
SiteMesh初體驗 @ Jemmy Walker :: 痞客邦 ::
java - SiteMesh - still active? v2 vs v3? - Stack Overflow
[页面模板框架对比] Apache Tiles VS Sitemesh_Java_孤天浪雨-CSDN博客
Struts2 使用SiteMesh做网页布局 - Jersey - 博客园
JNDI
Spring / Hibernate / JUnit - No Hibernate Session bound to Thread - Stack Overflow
放棄思考: JNDI + Derby + TomEE Plus 教學
ReflectionToStringBuilder
ReflectionToStringBuilder用法优缺点及一个问题和分享_Darrensty的博客-CSDN博客_reflectiontostringbuilder
Pretty-Print JSON in Java
GSON
1 | Gson gson = new GsonBuilder().setPrettyPrinting().create(); |
存 Java
1 | JSONObject json = new JSONObject(jsonString); // Convert text to object |
抓取檔案位置
抓取編譯檔案
1 | getClass().getClassLoader().getResource("main/resources/simple/xxx.xlsx").getFile(); |
讀取程式執行路徑
1
1 | return new File(MyClass.class.getProtectionDomain().getCodeSource().getLocation() |
java - How to get the path of a running JAR file? - Stack Overflow
Procedure
- oracle - Can I rollback after calling stored procedure in java test? - Stack Overflow
- 使用非同步處理提升資料庫更新速度-黑暗執行緒
- 寫好SQL很有必要! - 數據分析那些事 - Medium
- 阿肥的DB學習之路: 四月 2017
RxJava2+ Retrofit2
java web中po 和dto之间的使用 - 的回答 - SegmentFault 思否
项目结构介绍-博客
PO BO VO DTO POJO DAO 概念及其作用(附转换图)
数据模型 - 阿里规约(1) | Ironbin
基礎於:Java、Amazon AWS,進行:開發,測試,佈署(Code / Infra),維運。
Spring MVC Framework的Servlet Container 應用服務開發。
Vert.X 或 Micronaut 的微服務Microservices開發。
The Reactive Manifesto的Reactive Friendly程式撰寫風格(Plus)。
基礎於:Java、Amazon AWS,進行:開發,測試,佈署(Code / Infra),維運。
Spring MVC Framework的Servlet Container 應用服務開發。
Vert.X 或 Micronaut 的微服務Microservices開發。
Apache Kafka的事件及訊息驅動應用開發。
The Reactive Manifesto的Reactive Friendly程式撰寫風格(Plus)。
Cloudformation 腳本撰寫。
懂或有意願學習:Jenkins + CodePipeline 腳本撰寫經驗。
協助導入及實作AWS及On Premises 混合雲