微服务SpringCloud的前置知识复习

目录

前置知识总览

Spring

IoC

是什么 

怎么用

AoP

是什么

怎么用

SpringBoot

是什么

怎么用


前置知识总览

前置知识路线:spring ——>  spring Boot ——> spring cloud

Spring Boot与Spring Cloud——参考文章

  • Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务;

  • Spring Cloud是基于Spring Boot实现的;

  • Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架;

  • Spring Boot使用了约束优于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置 , Spring Cloud很大的一部分是基于Spring Boot来实现,Spring Boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring Boot,属于依赖的关系。

  • SpringBoot在SpringClound中起到了承上启下的作用,如果你要学习SpringCloud必须要学习SpringBoot。

Spring

        Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。以AOP与IOC为基础,为Java应用程序提供全面的基础架构的支持,用于简化企业应用程序的开发。

IoC

是什么 

        把原本需要程序员自己创建和维护的一大堆bean统统交由Spring管理。所有被Spring管理的、由Spring创建的、用于依赖注入的对象,就叫作一个Bean。属性不是对象创建,而是由Spring来自动进行装配。

图片来源于图片

怎么用

可以分为两步,一般使用注解(还可以使用XML与API):

  1. 将对象交给Spring管理
  2. 取出来用

        注解参考文章:@ Autowired注解让 Spring 容器帮我们自动装配 bean。要想把类标识成可用于 @Autowired 注解自动装配的 bean 的类,可以采用以下注解实现:

  • @Component :通用的注解,可标注任意类为 Spring 组件。如果一个 Bean 不知道属于哪个层,可以使用@Component 注解标注。
  • @Repository : 对应持久层即 Dao 层,主要用于数据库相关操作。
  • @Service : 对应服务层,主要涉及一些复杂的逻辑,需要用到 Dao 层。
  • @Controller : 对应 Spring MVC 控制层,主要用户接受用户请求并调用 Service 层返回数据给前端页面。
  • @Bean 注解使用在方法上,告诉 Spring 这个方法将会返回一个 Bean 对象,需要把返回的对象注册到 Spring 的应用上下文中。

取出来用(自动装配):@ Autowired与@ Resource

 其它注解如文中所示,列子之后添加。

AoP

是什么

        AoP基于动态代理的思想,将通用的业务功能与真实业务进行分离。开发主要关心核心业务,代理业务(即切面)通过切入的方式,在真实业务前中后进行执行,这样实现核心业务的增强常见的代理业务,有日志记录、权限判断等。通过切面中的切点,对切点的前中后,进行一个增强

AOP中有如下的操作术语:

  • Joinpoint(连接点): 类里面可以被增强的方法,这些方法称为连接点,切点选择部分或全部的连接点;
  • Aspect(切面):aspect关键字定义了一个类,这个类就是一个切面,是切点和增强结合。
  • Pointcut(切点):切面内部使用了pointcut定义切点,用于捕捉的需要应用切面的方法,这些方法也称为目标方法;所谓切入点是指我们要对哪些Joinpoint进行拦截的定义
  • Advice(通知/增强):通知就是那些需要在目标方法前中后执行的函数;所谓通知是指拦截到Joinpoint之后所要做的事情就是通知。
  • Weaving(织入):是把增强应用到目标方法的过程
  • Introduction(引介):引介是一种特殊的通知在不修改类代码的前提下,Introduction可以在运行期为

怎么用

一个例子


@Aspect // 声明一个切面

@Component

public class MyAspect {

    // 原业务方法执行前

    @Before("execution(public void com.rudecrab.test.service.*.doService())")

    public void methodBefore() {

        System.out.println("===AspectJ 方法执行前===");

    }



    // 原业务方法执行后

    @AfterReturning("execution(* com.rudecrab.test.service..doService(..))")

    public void methodAddAfterReturning() {

        System.out.println("===AspectJ 方法执行后===");

    }

}

更为详细,可以参考资料

SpringBoot

是什么

        Spring Boot 的目标是简化 Spring 应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式 Web 服务器,含有诸多开箱即用的微服务功能,可以和 Spring Cloud 联合部署。Spring Boot 的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。----参考资料

怎么用

参考文章:文章1文章2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值