Category: Java / Jsp
注解的分类
按照运行机制分
源码注解: 注解只在源码中存在,编译成 .class 文件就不存在。
编译时注解: 注解在源码和.class文件中都存在。例如JDK中@Override、@Deprecated、@Suppvisewarnings。
运行时注解 :在运行阶段还起作用,甚至会影响运行逻辑的注解。例如Spring中的@Autowired。
按来源来分
来自JDK的注解
来自第三方的注解
自定义注解
自定义注解语法要求
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documen…
Read More
直接上图吧,新建一个maven工程后,main目录下会有java和resources两个文件夹,其中java文件夹下存放源代码,resources文件夹下存放一些配置文件等。
在弄清楚编译后,资源文件以及字节码存在哪里这个问题之前,有必要明白什么是classpath
classpath实际上就是编译后的 以 classes 文件夹为起点的路径,而在ItelliJ IDEA 中编译后的文件都会存入out/production下。
所以,编译后,resources文件夹中的文件以及java目录下的文件都会存入同一个目录(out/production)下,也就是说,编译后是不存在java和resources这两个目…
Read More
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。下面是我这几年做开发过程中自己用过的工具类做简单介绍。
组件
功能介绍
BeanUtils
提供了对于JavaBean进行各种操作,克隆对象,属性等等.
Betwixt
XML与Java对象之间相互转换.
Codec
处理常用的编码方法的工具类包 例如DES、SHA1、MD5、Base64等.
Collections
java集合框架操作.
Compress
java提供文件打包 压缩类库.
Configuration
一个java应用程序的配置管理类库.
DBCP
提供数据库连接池服务.
DbUtils
提供对jdbc 的…
Read More
public class TestThread extends Thread
{
public void run()
{
System.out.println(this.getName() + "子线程开始");
try
{
// 子线程休眠五秒
Thread.sleep(5000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println(this.getName() + "子线程结束");
}
}
首先是一个线程,它执行完成需要5秒。
1、主线程等待一个子线程
public class Main
{
public static void main(Strin…
Read More
1、ExecutorService:
是一个接口,继承了Executor:
public interface ExecutorService extends Executor {
}
2、Executor:
而Executor亦是一个接口,该接口只包含了一个方法:
void execute(Runnable command);
3、Executors:
该类是一个辅助类,此包中所定义的 Executor、ExecutorService、ScheduledExecutorService、ThreadFactory 和 Callable 类的工厂和实用方法。
此类支持以下各种方法:
• 创建并返回设置有常用配置字符串的 ExecutorSer…
Read More
public class PrettyPrintingMap<K, V> {
private Map<K, V> map;
public PrettyPrintingMap(Map<K, V> map) {
this.map = map;
}
public String toString() {
StringBuilder sb = new StringBuilder();
一:遍历JsonArray
// 一个未转化的字符串
String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'},{name:'d',value:'dd'}]" ;
// 首先把字符串转成 JSONArray 对象
JSONArray json = JSONArray.fromObject(str );
if(json.size()>0){
for(int i=0;i<json.size();i++){
// 遍历 jsonarray 数组,把每一个对象转成 json 对象
JSONObject job = j…
Read More
第一种方法 – 使用DecimalFormat类
举个例子,假如我们需要保留两位小数,我们可以这样写
DecimalFormat df = new DecimalFormat("0.00");
测试如下:
double d = 0.200;
DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(d));
输出结果为:
0.20
若double d=0.000;输出结果为0.00;
若double d=0;输出结果为0.00;
若double d=41.2345;输出结果为41.23;
经测试,不管double d的值为多少,最后结果都是正常的两…
Read More
In this tutorial, we will show you how to get the current date time from the classic Date and Calendar APIs, and also the new Java 8 date and time APIs – LocalDateTime and LocalDate
1. Code Snippets
For java.util.Date, just create a new Date()
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
System.out.println(…
Read
JSON是一种类似 XML的语言,是用了存储和交换文本信息的语法。它的全称为JavaScript Object Notation(JavaScript 对象表示法)。与xml对比,它更小、更快,更易解析。
想要更好的解析JSON,必须能看懂JSON数据,这样就必须了解JSON语法,好在它的语法非常简单,规则如下:
JSON 语法是 JavaScript 对象表示法语法的子集。
- 数据在名称/值对中:如 "firstName" : "John"
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
而组成JSON的值可以为以下几种:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
-…
Read More
首先,回顾并详细说明一下在快速入门中使用的@Controller、@RestController、@RequestMapping注解。如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入门的内容。
@Controller:修饰class,用来创建处理http请求的对象
@RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。
@RequestMapping:配…
Read More
相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在application.properties中完成一些属性配置就能开启各模块的应用。
在之前的各篇文章中都有提及关于application.properties的使用,主要用来配置数据库连接、日志相关配置等。除了这些配置内容之外,本文将具体介绍一些在ap…
Read More
在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建。而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也可以通过《Spring Boot快速入门》一文中提到的SPRING INITIALIZR页面工具来创建,相信每位读者都有自己最喜欢和最为熟练的创建方式。
本文我们将介绍嵌入的Intellij中的Spring Initializr工具,它同Web提供的创建功能一样,可以帮助我们快速的构建出一个基础的Spring Boot/Cloud工程。
菜单栏中选择File=>New=>Project..,我们可以看到…
Read More
简介
在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用!
Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring引用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用。
Spring Boot的主要优点:
为所有Spring开发者更快的入门
开箱即用,提供各种默认配置来简化项目配置
内嵌式容器简化Web项目
没有冗余代码生成…
Read More