当前位置:首页 > Java > Spring Bootpdf电子书
《Spring Boot实战派》电子书封面

Spring Boot实战派

  • 发布时间:2021年03月10日 16:34:24
  • 作者:龙中华
  • 大小:55 MB
  • 类别:Spring Boot电子书
  • 格式:PDF
  • 版本:完整版
  • 评分:9.5

Spring Boot实战派 PDF 完整版

    Spring Boot实战派》是一本关于Spring Boot相关的电子书资源,介绍了关于Spring、Boot、实战方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小55 MB,龙中华编写,目前豆瓣、亚马逊、当当、京东等综合评分为:7.4分,本站并整理了书中配套资源及源码,一起来看下具体内容。

    Tags:Spring Boot Spring Boot实战 

    内容介绍

    版本点新:针对Spring Boot 2.0及以上版本

    体例科学:用“知识点+实例”形式编写

    实例丰富:58个基础实例 + 2个综合项目

    对比选优:对比讲解多种同类技术,便于技术选型,如,Spring Security和Shiro、Elasticsearch和Solr、JPA和Mybatis。

    技术点新:讲解了时下流行的接口架构风格RESTful、用来实现高并发的Redis、以及用来实现系统间通信的中间件RabbitMQ。

    《Spring Boot实战派》针对Spring Boot 2.0及以上版本,采用“知识点+实例”的形式编写。本书通过“58个基于知识的实例+2个综合性的项目”,深入地讲解Spring Boot的技术原理、知识点和具体应用;把晦涩难懂的理论用实例展现出来,使得读者对知识的理解变得非常容易,同时也立即学会如何使用它。

    要成为一本有“温度”的书,只做到上面这些还远远不够。所以,本书花费大量的篇幅对比讲解多种同类技术的知识点、使用和区别,读者可以根据自己的喜好进行技术选型;还讲解了时下流行的接口架构风格RESTful,以及用来实现高并发的Redis和系统间通信的中间件RabbitMQ。最后两章融合了本书所讲知识点,讲解了两个常用又实用的实战项目。

    《Spring Boot实战派》适合所有对Spring Boot感兴趣的读者阅读。

    感谢读者朋友和网友对《Spring Boot实战派》的批评指正

    • 对5.6.2 节自定义验证功能的注释补充
    • 关于《Spring Boot实战派》中,Spring Assistant插件升级的提示
    • 《Spring Boot实战派》–关于开发工具IDEA已经升级为IntelliJ IDEA 2019.3 Beta 2版本的说明
    • 本书相关软件下载地址:
    • 链接:https://pan.baidu.com/s/1ns7-OPeeVjNQrrr2cQYsRQ 提取码:kspe
    • 本书源码下载见前言的Github地址。

    读书笔记

    Springboot源码AbstractAdvisorAutoProxyCreator解析

    摘要:

    Spring的代理在上层中主要分为ProxyCreatorSupportProxyProcessorSupport,前者是基于代理工厂,后者是基于后置处理器,也可以认为后置就是自动代理器。当spring容器中需要进行aop进行织入的bean较多时,简单采用ProxyFacotryBean无疑会增加很多工作量(因为每个Bean!都得手动写一个)。所以自动代理就发挥它的作用了。

    Springboot源码 AbstractAdvisorAutoProxyCreator解析

    Spring中自动创建代理器分类

    在内部,Spring使用BeanPostProcessor让自动生成代理。基于BeanPostProcessor的自动代理创建器的实现类,将根据一些规则在容器实例化Bean时为匹配的Bean生成代理实例。代理创建器可以分为三类:

    • 基于Bean配置名规则的自动代理生成器:允许为一组特定配置名的Bean自动创建代理实例的代理创建器,实现类为BeanNameAutoProxyCreator
    • 基于Advisor匹配机制的自动代理创建器它会对容器中的所有Advisor进行扫描,自动将这些切面应用到匹配的Bean中,实现类是DefaultAdvisorAutoProxyCreator(它也支持前缀匹配)
    • 基于Bean中AspectJ注解的自动代理生成器:为包含AspectJ注解的切入的Bean自动创建代理实例,实现类是AnnotationAwareAspectJAutoProxyCreator,它是我们的@EnableAspectJAutoProxy导入的,这也是我们当下使用最为广泛的方式~

    BeanNameAutoProxyCreator

      package com.github.dqqzj.springboot.aop;  
      import org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator;
      import org.springframework.stereotype.Component;  
      import javax.annotation.PostConstruct;  
      /**
       * @author qinzhongjian
       * @date created in 2019-08-25 09:43
       * @description: TODO
       * @since JDK 1.8.0_212-b10
       */
      @Component
      public class MyBeanNameAutoProxyCreator extends BeanNameAutoProxyCreator {
        @PostConstruct
        public void init() {
          super.setBeanNames("aopService", "abstractAutoProxyCreatorService");
          super.setInterceptorNames("myMethodBeforeAdvice");
        }  
      }

    Springboot源码 AbstractAdvisorAutoProxyCreator解析

    如果你想用自己注册的@Bean代替@EnableAspectJAutoProxy默认给你注册的自动创建器AnnotationAwareAspectJAutoProxyCreator,那么你可以注册一个Bean名称如下的Bean即可:

      // 手动注册一个自动代理创建器,且名字务必叫AopConfigUtils.AUTO_PROXY_CREATOR_BEAN_NAME
      @Bean(AopConfigUtils.AUTO_PROXY_CREATOR_BEAN_NAME) 
      public BeanNameAutoProxyCreator beanNameAutoProxyCreator() {
        ...
      }

    AbstractAutoProxyCreator

      public abstract class AbstractAutoProxyCreator extends ProxyProcessorSupport
          implements SmartInstantiationAwareBeanPostProcessor, BeanFactoryAware {
          ...
      }

    AbstractAutoProxyCreator是对自动代理创建器的一个抽象实现。最重要的是,它实现了SmartInstantiationAwareBeanPostProcessor接口,因此会介入到Spring IoC容器Bean实例化的过程,在AbstractAutowireCapableBeanFactory中有这样一段代码

      try {
            // Give BeanPostProcessors a chance to return a proxy instead of the target bean instance.
            Object bean = resolveBeforeInstantiation(beanName, mbdToUse);
            if (bean != null) {
              return bean;
            }
          }

    但是一般都不会生效的,因为这个resolveBeforeInstantiation只是针对有自定义的targetsource,因为自定义的targetsource不是spring的bean那么肯定不需要进行后续的一系列的实例化 初始化。所以可以在resolveBeforeInstantiation直接进行proxy。简单的说吧 ,这个代码可以忽略不计,开发者一般用不到。

    如何让resolveBeforeInstantiation直接返回bean?

      package com.github.dqqzj.springboot.aop;
      
      import org.springframework.beans.BeansException;
      import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor;
      
      /**
       * @author qinzhongjian
       * @date created in 2019-08-25 11:35
       * @description: TODO
       * @since JDK 1.8.0_212-b10
       */
      public class AopServiceInstantiationAwareBeanPostProcessor implements InstantiationAwareBeanPostProcessor {
        @Override
        public Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName) throws BeansException {
          if (beanClass.isInstance(AopService.class)) {
            return new AopService();
          }
          return null;
        }
        @Override
        public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
          return bean;
        }
      }

    Springboot源码 AbstractAdvisorAutoProxyCreator解析

    这个是spring第一次后置处理器的使用,如果这样直接就返回了,就相当于脱离了IOC的生命周期了一样,依赖注入,属性填充等这些都没有进行处理,所以使用的时候一定要注意,最好别使用这个功能。

    在初始化bean的过程中后续还有2个特别重要的后置处理过程,对于循环依赖甚至异步注解事物注解等都有或多或少的影响,后续会继续分析它们。

    小结:

    SpringAOP应尽量避免自己创建AutoProxyCreator,内部机制及其复杂难免会由于没有想到的问题而出现其他不常见的问题,上面分享的内容很少,原因是我觉得熟悉这个架构设计师最关键的,各种子类的虽然实现大不相同,但是你想全部都记在脑海或者很熟悉那是不太现实的,只有熟悉他的设计才能遇见问题轻易的就能翻源码解决。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

    以上就是本次介绍的Spring Boot电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

    上一篇:Java项目开发实战入门

    下一篇:Python编程:从入门到实践(第2版)

    查看更多
    下载地址:百度网盘下载
    Spring Boot 相关电子书
    Spring Boot 实战
    Spring Boot 实战 PDF 超清版

    Spring Boot实战 以Spring应用程序开发为中心,全面讲解如何运用Spring Boot提高效率,使应用程序的开发和管理更加轻松有趣。作者行文亲切流畅,以大量示例讲解了Spring Boot在各类情境中的应用,内容涵盖起步依赖。Spring Boot CLI、Groovy、Grails、Actuator。对于Spring Boot开发应用中较为繁琐的内容,附录奉上整理完毕的表格,一目了然,方便读者查阅。 目录 第1章 入门 1 第2章 开发第一个应用程序 19 第3章 自定义配置 42 第4章

    立即下载
    深入实践Spring Boot
    深入实践Spring Boot PDF 高清版

    深入实践Spring Boot 是Spring Boot领域的经典著作,从技术、实践和原理3个维度对Spring Boot进行了系统且深入的讲解。作者是Spring Boot领域的资深专家,有超过15年的IT行业从业经验。 技术维度 第一

    立即下载
    SpringBoot揭秘:快速构建微服务体系
    SpringBoot揭秘:快速构建微服务体系 PDF 高清版

    《SpringBoot揭秘:快速构建微服务体系》 以微服务的基本概念介绍性开篇, 逐步引出Java平台下打造微服务的利器SpringBoot微框架,从SpringBoot微框架的出身和源头,循序渐进,一步步为大家剖析

    立即下载
    Spring Boot 2精髓:从构建小系统到架构分布式大系统
    Spring Boot 2精髓:从构建小系统到架构分布式大系统 PDF 高清完整版

    这本书系统介绍了Spring Boot 2的主要技术,涵盖Spring Boot框架、Spring MVC、视图技术、数据库访问技术,并且介绍多环境部署、自动装配、单元测试等高级特性,介绍如何平滑地用Spring Boot实现分布式架构等

    立即下载
    Spring Boot+Vue全栈开发实战
    Spring Boot+Vue全栈开发实战 PDF 完整版

    传统的JavaEE开发效率低下、配置臃肿、调试不便,严重制约了程序员的生产力。Spring Boot致力于简化开发配置,并为企业级开发提供一系列非业务性功能;而Vue则采用数据驱动视图的方式将程序

    立即下载
    读者心得
    164小时24分钟前回答

    详解SpringBoot注册Windows服务和启动报错的原因

    Windows系统启动Java程序会弹出黑窗口。黑窗口有几点不好。首先它不美观;其次容易误点导致程序关闭;但最让我匪夷所思的是:将鼠标光标选中黑窗口日志信息,程序竟然不会继续执行,日志也不会继续输出。从而导致页面一直处于请求状态。回车后程序才能正常执行。同时客户希望我们能部署在Windows系统上并且做到开机自动启动。针对以上需求将系统程序注册成Windows服务变得尤为重要。 针对于SpringBoot程序,目前主流的方法是采用winsw,简单方便。可是在开发过程中,针对不同的系统,启动服务可能会出现意想不到的结果。同样的配置方法,在win10可以成功注册并启动服务。而在windows server 2012 却启……

    117小时6分钟前回答

    Spring Boot创建可执行jar包的实例教程

    传统的spring项目,可能大部分都要部署到web容器中,如Tomcat。Spring Boot提供了一种超级简单的部署方式,就是直接将应用打成jar包,在生产上只需要执行java -jar就可以运行了。 本篇文章就介绍如何创建可执行jar包,以及如何部署、运行和停止。 第一步,我们需要在pom.xml添加spring-boot-maven-plugin,添加在dependecies部分下面: build plugins plugin groupIdorg.springframework.boot/groupId artifactIdspring-boot-maven-plugin/artifactId /plugin /plugins/build 第二步,保存pom.xml并运行mvn package命令打包: localhost:spring-boot-tutorial-executable majunwei$ mvn package -Dmaven.test.skip=true[INFO] Scanning for projects...[WARNING] [WARNING] Some problems were encountered while building t……

    码农之家

    韩阳夏 提供上传

    资源
    37
    粉丝
    45
    喜欢
    125
    评论
    11

    Copyright 2018-2021 www.xz577.com 码农之家

    版权投诉 / 书籍推广:520161757@qq.com