Coder Social home page Coder Social logo

spring-in-action-v5-translate's Introduction

Spring 实战(第 5 版)

GitBook 地址:https://potoyang.gitbook.io/spring-in-action-v5

Github 地址:https://github.com/PotoYang/spring-in-action-v5-translate

源码地址:spring-in-action-5-samples-master


在与 Spring 工作了近 15 年后,已经编写了这本书的 5 个版本(更不用说《Spring Boot 实战》了),你可能会认为,在为这本书撰写序言时,很难想出一些有关 Spring 的令人兴奋的新内容。但事实远非如此!

Spring 生态系统中的每个 Spring 版本、Spring Boot 和所有其他项目都释放了一些新的惊人功能,重新点燃了开发应用程序的乐趣。随着 Spring 5.0 发行版和 Spring Boot 2.0 发行版的出现,Spring 到达了一个具有里程碑意义的节点,可以享受的 Spring 越来越多,因此编写另一版 《Spring 实战》是不需要动脑筋的事情。

Spring 5 的主要特点是对响应式编程的支持,包括 Spring WebFlux,这是一个全新的响应式 web 框架,它借鉴了 Spring MVC 的编程模型,允许开发人员创建可更好地扩展和使用更少线程的 web 应用程序。转向 Spring 应用程序的后端,最新版本的 Spring Data 支持创建响应式的、非阻塞的数据存储库。所有这些都构建在 Project Reactor 的基础上,这是一个用于处理响应式类型的 Java 库。

除了 Spring 5 新的响应式编程特性之外,Spring Boot 2 现在提供了比以前更多的自动配置支持,以及一个完全重新设计的 Actuator,用于查看和操作正在运行的应用程序。

更重要的是,当开发人员希望将他们的单个应用程序分解成离散的微服务时,Spring Cloud 提供了一些工具,使配置和发现微服务变得容易,并且增强了它们的功能,使它们对失败更有弹性。

很高兴地说,这个第五版的 《Spring 实战》涵盖了所有这一切,甚至更多!如果你是一个经验丰富的 Spring 老手,《Spring 实战》第五版 将是你的指南,Spring 中一切新的都有提供。另一方面,如果你是 Spring 新手,那么现在是开始行动的最佳时机,前几章将很快让你开始行动!

与 Spring 合作的 15 年是激动人心的。现在我已经完成了《Spring 实战》第五版,我渴望与你们分享这份兴奋!

进度:

章节 完成度
Part 1 - Foundational Spring 完成
1 - Getting started with Spring 完成
2 - Developing web application 完成
3 - Working with data 完成
4 - Securing Spring 完成
5 - Working with configuration properties 完成
Part 2 - Integrated Spring 完成
6 - Creating REST service 完成
7 - Consuming REST service 完成
8 - Sending message asynchronously 完成
9 - Integrating Spring 完成
Part3 - Reactive Spring 完成
10 - Introducing Reactor 完成
11 - Developing reactive APIs 完成
12 - Persisting data reactively 完成
Part 4 - Cloud-native Spring 完成
13 - Discovering services 完成
14 - Managing configuration 完成
15 - Handling failure and latency 完成
Part 5 - Deployed Spring 完成
16 - Working with Spring Boot Actuator 完成
17 - Administering Spring 完成
18 - Monitoring Spring with JMX 完成
19 - Deploying Spring 完成

spring-in-action-v5-translate's People

Contributors

2219160052 avatar alexdyysp avatar allcontributors[bot] avatar andycorona avatar frog1047 avatar junjieyuan avatar koobyte avatar leonli0102 avatar likenttt avatar potoyang avatar shawnda761 avatar vsxd avatar wangxinalex avatar yorickgu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spring-in-action-v5-translate's Issues

Greetings

Hi Poto,

Greetings and hope you are having a nice day.
The Chinese digital version of this book is wonderful, especially for the code part. That's very beautiful indeed, and thank you pretty much.
I am sending you this email is just a query that if you have any update on the book.
All the best.

Best Regards,
Robin

Cannot resolve symbol 'Taco'

我一直按照文档进行编码,但我在第 2.1.2 创建控制器类 中遇到问题,无法继续下一步。

程序清单 2.2 Spring 控制器类的开始,代码如下:

package tacos.web;
​
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.Errors;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import lombok.extern.slf4j.Slf4j;
​
import tacos.Taco;
import tacos.Ingredient;
import tacos.Ingredient.Type;
​
@Slf4j
@Controller
@RequestMapping("/design")
public class DesignTacoController {
    @GetMapping
    public String showDesignForm(Model model) {
        List<Ingredient> ingredients = Arrays.asList(
            new Ingredient("FLTO", "Flour Tortilla", Type.WRAP),
            new Ingredient("COTO", "Corn Tortilla", Type.WRAP),
            new Ingredient("GRBF", "Ground Beef", Type.PROTEIN),
            new Ingredient("CARN", "Carnitas", Type.PROTEIN),
            new Ingredient("TMTO", "Diced Tomatoes", Type.VEGGIES),
            new Ingredient("LETC", "Lettuce", Type.VEGGIES),
            new Ingredient("CHED", "Cheddar", Type.CHEESE),
            new Ingredient("JACK", "Monterrey Jack", Type.CHEESE),
            new Ingredient("SLSA", "Salsa", Type.SAUCE),
            new Ingredient("SRCR", "Sour Cream", Type.SAUCE)
        );

        Type[] types = Ingredient.Type.values();
        for (Type type : types) {
            model.addAttribute(type.toString().toLowerCase(),
                filterByType(ingredients, type));
        }

        // Taco 在哪里定义的?
        model.addAttribute("design", new Taco());
        return "design";
    }

    // provided by 'aexiaosong'
    private List<Ingredient> filterByType(List<Ingredient> ingredients, Type type) {
        return ingredients.stream().filter(x -> x.getType().equals(type)).collect(Collectors.toList());
    }
}

在这之前,我没有看到任何地方定义了 Taco 类型,是遗漏了吗,还是我做错了什么?

书中2.1.2的DesignTacoController代码中缺少函数

缺少了一个filterByType函数,我在别的书中看见是有写这个函数的,希望可以加上以便他人学习。

private List<Ingredient> filterByType(List<Ingredient> ingredients, Type type) {
        return ingredients.stream().filter(x -> x.getType().equals(type)).collect(Collectors.toList());
}

2.1.2中Model是一个类,不应该翻译成中文

“一旦准备好了原料列表,接下来的几行 showDesignForm() 将根据原料类型过滤该列表。然后将成分类型列表作为属性添加到传递到 showDesignForm() 的模型对象。模型是一个对象,它在控制器和负责呈现数据的视图之间传输数据。最后,放置在模型属性中的数据被复制到 servlet 响应属性中,视图可以在其中找到它们。showDesignForm() 方法最后返回 “design”,这是将用于向浏览器呈现模型的视图的逻辑名称。”

这段中的“模型”对应的原文是“Model”,它是一个类,不应该翻译成中文,翻译后失去了原文含义。

很多语句缺少主语, 不符合中文文法

PotoYang , hi,
感谢你们的翻译工作. 我注意到许多语句缺少主语. 虽然可以理解, 但是我觉得有失严谨.例如

随着 Taco Cloud 应用程序的增长,将使用 Java 代码、图像、样式表、测试以及其他可帮助完成项目的附带材料来填充此准系统的项目结构。

勘误

程序清单 2.4,参数不是Design类而是Taco类

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.