分类目录归档:Java

Spring Scheduling Annotations


1.概述

当单线程执行不够时,我们可以使用org.springframework.scheduling.annotation包中的注释。

在本快速教程中,我们将探讨Spring Scheduling Annotations。

2. @EnableAsync

通过这个注释,我们可以在Spring中启用异步功能。

我们必须在@Configuration中使用它:

@Configuration
@EnableAsync
class VehicleFactoryConfig {}

现在,我们启用了异步调用,我们可以使用@Async来定义支持它的方法。

3. @EnableScheduling

...

阅读全文...

Spring Data Annotations


1.简介

Spring Data提供了对数据存储技术的抽象。因此,我们的业务逻辑代码可以更加独立于底层持久性实现。此外,Spring简化了对依赖于实现的数据存储细节的处理。

在本教程中,我们将看到Spring Data,Spring Data JPA和Spring Data MongoDB项目的最常见注释。

2.常见的Spring数据注释

2.1. @Transactional

当我们想要配置方法的事务行为时,我们可以使用:

@Transactional
void pay() {}

如果我们在类级别上应用此批注,那么它适用于类中的所有方法。但是,我们可以通过将其应用于特定方法来覆盖其效...

阅读全文...

Spring Boot Annotations


1.概述

Spring Boot通过其自动配置功能使Spring更容易配置。

在本快速教程中,我们将探讨org.springframework.boot.autoconfigure和org.springframework.boot.autoconfigure.condition包中的注释。

2. @SpringBootApplication

我们使用此批注来标记Spring Boot应用程序的主类:

@SpringBootApplication
class VehicleFactoryApplication {

    public static void main(String[] ...

阅读全文...

Spring Web Annotations


1.概述

在本教程中,我们将从org.springframework.web.bind.annotation包中探索Spring Web注释。

2. @RequestMapping

简单地说,@RequestMapping 标记请求处理方法里面@Controller班; 它可以使用以下方式配置:

  • path或其别名,名称和值:方法映射到的URL
  • 方法:兼容的HTTP方法
  • params:根据HTTP参数的存在,缺失或值过滤请求
  • 标头:根据HTTP标头的存在,缺席或值过滤请求
  • consume :方法可以在HTTP请求正文中使用哪些媒体类型
  • 产生:方法可以在HTTP响应体中生成哪些媒体类型
...

阅读全文...

Spring 核心注解


1.概述

我们可以使用org.springframework.beans.factory.annotationorg.springframework.context.annotation包中的注释来利用Spring DI引擎的功能。我们经常将这些称为“Spring核心注释”,我们将在本教程中对它们进行检查。

2. DI相关注释

2.1. @Autowired

我们可以使用@Autowired来标记Spring将要解析和注入的依赖项。我们可以将这个注释与构造函数,setter或字段注入一起使用。构造函数注入:

class Car {
    Engine engine;

    @Au...

阅读全文...

Java Gson 自定义反序列化


package cn.aofeng.demo.json.gson;

import java.lang.reflect.Type;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
im...

阅读全文...

Java Gson 自定义序列化


package cn.aofeng.demo.json.gson;

import java.lang.reflect.Type;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;

/**
 ...

阅读全文...

Java Gson集合的反序列化


package cn.aofeng.demo.json.gson;

import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

/**
 * 集合的反序列化。
 */
public class CollectionDeserialize {

    p...

阅读全文...

Java Gson 集合的序列化


package cn.aofeng.demo.json.gson;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.google.gson.Gson;

/**
 * 集合的序列化。
 * 
 */
public class CollectionsSerializ...

阅读全文...

Java Gson数组反序列化


package cn.aofeng.demo.json.gson;

import com.google.gson.Gson;

/**
 * 数组的反序列化。
 * 
 */
public class ArrayDeserialize {

    public <T> T deserialize(String json, Class<T> claz) {
        Gson gson = new Gson();
        return gson.fromJson(json, claz);
    }

    public static void ...

阅读全文...