原文:HowToDoInJava
协议:CC BY-NC-SA 4.0
欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。
- ApacheCN 学习资源
目录
-
Maven 教程
- 如何在 Windows 上安装 Maven
- Maven – 设置文件
- Maven – 依赖管理
- Maven 依赖范围
- Maven – POM 文件
- Maven – 父子 POM 示例
- Maven – 本地,远程和中央仓库
- Maven 本地仓库位置以及如何更改?
M2_REPO
– 在 Eclipse 中更改 Maven 仓库的位置- Maven 代理设置 – Eclipse,命令行和全局设置
- Maven 强制最低 Java 版本
- Maven 创建 Java 项目 – 交互式与非交互式模式
- 在 Eclipse 中逐步创建 Maven Web 项目
- 多模块 Maven 项目 – 控制台
- Eclipse 中的 Maven 多模块项目
- Maven – 创建 Java 源文件夹
- Maven BOM – 物料清单依赖项
- 在 Eclipse 中导入 Maven 远程原型目录
- Eclipse 项目中的 Maven 自定义原型
- 已解决:Java 编译器级别与已安装的 Java 项目方面的版本不匹配
- Maven ant 插件 – 从
pom.xml
生成build.xml
- Maven IntelliJ IDEA 项目
- Spring MVC JSTL 配置示例
- Tomcat Maven 插件示例
- Maven – Spring Boot 胖 /Uber Jar
- Maven Shade 插件 – UberJar/ 胖 Jar 示例
- Maven – 删除所有损坏的 jar/ 依赖项
- Gradle 教程 – 安装和 HelloWorld 示例
-
Log4j2 教程
- Log4j2 JSON 配置示例
- Log4j2 属性文件示例
- Log4j2 xml 配置示例
- Log4j2
RollingFileAppender
示例 - Log4j2 多个附加器示例
- Log4j2
LevelRangeFilter
示例 - Log4j2
HTMLLayout
配置示例 - Log4j2
ThreadContext
– 相同事务的鱼标日志 - Log4j2 – 有用的转换模式示例
- 为 JUnit 测试用例配置 Log4j2
-
Log4j 教程
log4j.properties
示例 – Log4j 属性文件示例log4j.xml
示例 – Log4j xml 配置示例- Log4j Maven 配置示例
- Log4j 日志级别 – Log4j2 日志级别示例
- Log4j
ConsoleAppender
配置示例 - Log4j
RollingFileAppender
配置示例 - Log4j
SocketAppender
和套接字服务器示例 - Log4j
JDBCAppender
– 在数据库中创建日志 - Log4j
XMLLayout
– 以 XML 格式创建日志 - Log4j
HTMLLayout
– 以 HTML 格式创建日志 - Log4j – 在运行时重新加载日志记录级别
- SLF4j 与 Log4j – 哪个更好?
- RESTEasy + Tomcat 7 + Log4j 日志记录示例
-
Dropwizard 教程
- Dropwizard 教程
- Dropwizard 教程 – HelloWorld 示例
- Dropwizard – BasicAuth 安全示例
- Dropwizard 运行状况检查配置示例
- Dropwizard 客户端 – Jersey/HTTP 配置和示例
- [[已解决] Dropwizard – 无法解析配置(无法将类型 ID“http”解析为子类型)](https://github.com/apachecn/h…
-
RESTEasy 教程
- JAX-RS 2.0 教程
- RESTEasy + JBOSS 7 HelloWorld 应用
- 面向初学者的 RESTEasy 示例教程
- JAX-RS
@Path
URI 匹配 – 静态和正则 URI - Java REST HATEOAS 示例
- RESTEasy + Tomcat 7 + SLF4J 日志示例
- RESTEasy + Tomcat 7 + Log4j 记录示例
- RESTEasy – 文件下载示例
- RESTEasy 文件上传 – HTML 表单示例
- RESTEasy 文件上传 –
HttpClient
示例 - 使用 Ajax 的 JAX-RS 自定义验证示例
- 使用 Hibernate 验证器供应器进行 RESTEasy Bean 验证
- RESTEasy
ContainerRequestFilter
– RESTEasy 安全过滤器示例 - RESTEasy 基本认证和授权教程
- RESTEasy JAXB XML 示例
- RESTEasy Jettison JSON 示例
- Jackson 的 RESTEasy JSON 示例
- RESTEasy
ExceptionMapper
– 异常处理示例 - RESTEasy 客户端 API
- 使用
java.net
包的 RESTful 客户端 - 使用 RESTful API 的 RESTEasy 客户端
- Apache HttpClient GET 和 POST 示例
- RESTEasy Javascript/Ajax 客户端演示
- JAX-RS 2.0 RESTEasy 3.0.2.Final 客户端 API 示例
- RESTEasy 最佳实践
- RESTEasy – 与
ResteasyProviderFactory
共享上下文数据 - RESTEasy
ExceptionMapper
– 异常处理示例 - 使用 ETag 的 RESTEasy 缓存控制示例
- RESTEasy – 启用 Gzip 压缩内容编码
- 比较 SOAP 与 RESTful Web 服务
-
Jersey 教程
- Jersey HelloWorld 例子
- Jersey2 HelloWorld 示例 – Jersey2 教程
jersey-quickstart-webapp
HelloWorld 示例- Jersey 使用过滤器记录请求和响应实体
- Jersey – 如何在 REST API 响应中设置 Cookie
- Jersey 文件下载示例 –
StreamingOutput
- Jersey 文件上传示例 – Jersey2
MultiPartFeature
- Jersey – Ajax 多文件上传示例
- Jersey 异常处理 – Jersey
ExceptionMapper
示例 - Jersey + MOXy JSON 示例
- Jersey + JSONP 示例
- Jersey + Google Gson 示例
- Jersey REST API 安全示例
- Jersey 客户端
- Jersey 客户端示例 – Jersey2 客户端 API
- Jersey REST 客户端认证示例
- Jersey 客户端 – 设置 Cookie 示例
-
JDBC 教程
- Java JDBC 教程
- Java – JDBC 连接示例(MySQL)
- Java – JDBC 驱动类型
- JDBC
SELECT
查询示例 - JDBC SQL
INSERT
查询示例 - JDBC SQL
DELETE
查询示例 - Java JDBC
PreparedStatement
示例 - JDBC 性能优化技巧
-
Hiberate 教程
- Hiberate 教程
- Hibernate 示例 – HelloWorld 示例逐步简介
- Hibernate 获取实体示例 –
get
与load
方法 - Hibernate 插入查询教程
- Hiberate 合并和刷新实体
- Hibernate 4 – 获取延迟加载的实体引用
- 从数据库中插入 / 选择 Blob 的 Hiberate 示例
- Hiberate
save()
和saveOrUpdate()
方法 - Hiberate 实体 / 持久化生命周期状态
- Hibernate 4:如何构建
SessionFactory
- Hiberate 实体等价和等同
- Hibernate JPA 级联类型
- Hibernate 延迟加载教程
- Hiberate 条件查询示例
- Hibernate HQL(Hiberate 查询语言)示例
- Hibernate
@NamedQuery
教程 - Hibernate – 如何定义实体之间的关联映射
- 通过示例了解 Hibernate 一级缓存
- Hiberate 二级缓存如何工作?
- Hibernate EhCache 配置教程
- Hibernate OSCache 配置示例教程
- Hibernate C3P0 连接池配置教程
- Hiberate 内存数据库
- Hibernate 验证器 – Java Bean 验证示例
- Hibernate 验证器 CDI –
@HibernateValidator
示例 - [[已解决]
UnexpectedTypeException
– 找不到约束验证器](https://github.com/apachecn/h… - Hiberate 注解
- Hibernate / JPA2 持久化注解教程
- Hiberate 注解与映射 – 优缺点
@Immutable
和@NaturalId
– 特定于 Hiberate 的注解- Hibernate
@NaturalId
示例教程 - Hiberate 一对多映射注解示例
- Hiberate 多对多映射注解示例
- Hiberate 一对一映射注解示例
-
JUnit5 教程
- JUnit5 教程
- JUnit5 测试生命周期
- JUnit5
@BeforeAll
注解示例 - JUnit5
@BeforeEach
注解示例 - JUnit5
@AfterEach
注解示例 - JUnit5
@AfterAll
注解示例 - JUnit5
@RepeatedTest
注解示例 - JUnit5
@Disabled
测试示例 - JUnit5
@Tag
注解示例 - JUnit5 预期的异常 –
assertThrows()
示例 - JUnit5 断言示例
- JUnit5 假设示例
- JUnit5 测试套件示例
- JUnit5 和 Gradle
- JUnit5 Maven 依赖项
- JUnit5 – 在 Eclipse 中执行测试
- Eclipse 的 JUnit5 测试模板
- JUnit5 与 JUnit4
-
JUnit4 教程
- JUnit 教程
- JUnit 测试套件示例
- JUnit
JUnitCore
示例 - 使用 Maven 执行 JUnit 测试用例
- JUnit4 – 基于假设的测试用例
- Junit 预期异常测试用例示例
- JUnit 测试监听器– JUnit
RunListener
示例 - JUnit 测试超时 – JUnit5 超时示例
- JUnit 有序测试执行示例
- JUnit 参数化测试示例
- Junit 参数化测试 –
@Theory
和@DataPoints
- JUnit – 使用
TemporaryFolder
和@Rule
创建临时文件 / 文件夹
-
TestNG 教程
- TestNG 教程
- TestNG 教程(使用 Eclipse)
- 如何从 Maven 运行
testng.xml
- TestNG 注解教程
- TestNG – 预期异常和预期消息教程
- TestNG – 如何禁用 / 忽略测试方法
- TestNG 并行执行测试,类和套件
- TestNG – 依赖测试示例
- TestNG – 超时测试教程
- TestNG
@Parameters
– 测试参数示例 - TestNG
@DataProvider
– 测试参数示例 - TestNG
@Factory
注解教程 - TestNG –
@Factory
和@DataProvider
之间的区别 - TestNG 的前后注解
- TestNG – 测试组,元组,默认组示例
-
Mockito 教程
- Mockito2 教程 – JUnit Mockito 示例
- Mockito 注解–
@Mock
,@Spy
,@Captor
,@InjectMock
- Mockito –
@Mock
和@InjectMock
注解之间的区别 - Mockito – 验证具有不同参数的多个方法调用
- Spring Boot,Mockito 和 Junit – 单元测试服务层
- [[已解决]
IllegalStateException
:无法初始化插件MockMaker
](https://github.com/apachecn/h… - 使用 PowerMock 进行模拟测试(带有 JUnit 和 Mockito)
-
TypeScript 教程
- TypeScript 教程
- TypeScript 类型
- TypeScript 联合类型
- 字符串字面值类型
- TypeScript 变量 –
var
,let
和const
- TypeScript 模板字符串
- TypeScript 算术运算符
- TypeScript 逻辑运算符
- TypeScript 比较运算符
- TypeScript
for…of
循环 - TypeScript 中的展开运算符
- TypeScript 中的数组
- TypeScript 中的枚举
- TypeScript 映射
- TypeScript 集合
- TypeScript 函数 – 剩余,可选和默认参数
- TypeScript 函数或方法重载
- 转译器(Transpiler)与编译器
- JavaScript 中的真值和假值
- 相等运算符(
==
)与严格相等运算符(===
) - JavaScript 中的
undefined
vsnull
- JavaScript 变量提升
tsconfig.json
– TypeScript 编译器配置
-
Angular(2.x)教程
- Angular 开发工作区设置
- [[已解决] Npm 安装挂起或时间过长](https://github.com/apachecn/h…
- 模拟 REST 服务器来伪造在线 API
- Angular 插值
- Angular 组件
- Angular 模板和视图
- Angular 服务示例
- 带有 RxJS
Observable
的 AngularHttpClient
示例
-
AngularJS(1.x)教程
- AngularJS 教程 – HelloWorld 示例
- AngularJS – jQueryLite(jqLite)教程
- AngularJS 服务(内置和自定义)
- AngularJS Spring MVC Rest 示例
-
JavaScript / jQuery 教程
- Ajax 教程 – 面向初学者的 Ajax 指南
- 完整的 jQuery Ajax(
$.ajax
)教程 - jQuery 深度克隆示例
- jQuery 选择器 – 完整列表
- jQuery – 所有选择器(“
*
”)– 通用选择器 - jQuery – 检测剪切,复制或粘贴事件
- jQuery 检测
ENTER
键按下事件 - jQuery –
Keypress
和Keydown
事件之间的区别 - 关于 StackOverflow 的最佳 jQuery 讨论
- JavaScript – 相等(
==
)与身份(===
)运算符 - 您必须知道的 JavaScript 变量范围规则
- JavaScript:定义全局变量的正确方法
- 在 JavaScript 中实现 MVC 和 PubSub
- JavaScript DOM 对象与 jQuery 对象
- Jasmine 单元测试教程及示例
- JavaScript 日志 – 在 JSON 中屏蔽敏感信息
-
Android 教程
- Android 教程:关键概念
- Android 教程:在 Windows 上安装 Android
- Android 教程:如何创建 Android 应用 / 项目
- Android 教程:Android 项目结构,文件和资源
- Android 清单:指定 Android 应用和 SDK 版本
- 如何加快缓慢的 Android AVD / 模拟器
-
Hadoop 教程
- Hadoop – 大数据教程
- Hadoop MapReduce 初学者教程
- HDFS – Hadoop 分布式文件系统架构教程
- Brewer 的 CAP 定理简述
- Java 云开发简介和工具
-
MongoDB 教程
- MongoDB 简介:为什么选择 MongoDB?
- 如何在 Windows 上安装 MongoDB
- Java MongoDB:使用 GridFS API 获取 / 保存图像
- Java MongoDB:在集合中插入文档的示例
- MongoDB 查找文档示例
- 微服务 – 定义,原理和好处
-
Apache Kafka 教程
- Apache Kafka – 简介
- Apache Kafka – Windows 10 入门
- Kafka 的 Spring Boot – HelloWorld 示例
- Spring Boot Kafka
JsonSerializer
示例
贡献指南
本项目需要校对,欢迎大家提交 Pull Request。
请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并不要求您做到十全十美,因此请不要担心因为翻译上犯错——在大部分情况下,我们的服务器已经记录所有的翻译,因此您不必担心会因为您的失误遭到无法挽回的破坏。(改编自维基百科)
联系方式
负责人
- 飞龙: 562826179
其他
- 在我们的 apachecn/howtodoinjava-zh github 上提 issue.
- 发邮件到 Email:
apachecn@163.com
. - 在我们的 组织学习交流群 中联系群主 / 管理员即可.
赞助我们