您的位置:首页 > 房产 > 家装 > 咸宁网站seo_营销公司是什么意思_三亚百度推广公司电话_电销精准客户资源

咸宁网站seo_营销公司是什么意思_三亚百度推广公司电话_电销精准客户资源

2025/4/18 12:59:23 来源:https://blog.csdn.net/qq_24426227/article/details/146940067  浏览:    关键词:咸宁网站seo_营销公司是什么意思_三亚百度推广公司电话_电销精准客户资源
咸宁网站seo_营销公司是什么意思_三亚百度推广公司电话_电销精准客户资源

目录

设计模式

核心模块

1. Spring Core Container(核心容器)

2. Spring AOP(面向切面编程)

3. Spring Data Access(数据访问)

4. Spring Web(Web 开发)

5. Spring Security(安全框架)

6. Spring Messaging(消息传递)

7. Spring Boot

示例代码


设计模式

  • 工厂设计模式 
  •          Spring使用工厂模式通过 BeanFactory、ApplicationContext 创建 bean 对象。
  • 代理设计模式 :
  •         Spring AOP 功能的实现。
  • 单例设计模式 :
  •         Spring 中的 Bean 默认都是单例的。
  • 原型模式:
  •         深拷贝、浅拷贝
  • 模板方法模式 
  •         数据的导入、(AD域、excel导入)
  •           Spring 中 jdbcTemplate、hibernateTemplate 等以 Template 结尾的
  •         对数据库操作的类,它们就使用到了模板模式。
  • 包装器设计模式 :
  •         IO
  •         我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要访问不同的数据库。这种模式让我们可以根据客户的需求能够动态切换不同的数据源。
  • 观察者模式: 
  •         Spring 事件驱动模型就是观察者模式很经典的一个应用。
  • 适配器模式 :
  •         Spring AOP 的增强或通知(Advice)使用到了适配器模式
  •         spring MVC 中也是用到了适配器模式适配Controller。 
  • 核心模块

    1.「Spring Core」:Spring核心,它是框架最基础的部分,提供IOC和依赖注入DI特性

    2.「Spring Context」:Spring上下文容器,它是 BeanFactory 功能加强的一个子接口

    3.「Spring Web」:它提供Web应用开发的支持

    4.「Spring MVC」:它针对Web应用中MVC思想的实现

    5.「Spring DAO」:提供对JDBC抽象层,简化了JDBC编码,同时,编码更具有健壮性

    6.「Spring ORM」:它支持用于流行的ORM框架的整合,

    比如:Spring + Hibernate、Spring + iBatis、Spring + JDO的整合等

    7.「Spring AOP」:即面向切面编程,它提供了与AOP联盟兼容的编程实现

    面试题:

    《面试八股文》之 Spring 18卷

Spring 是一个功能强大且广泛应用的 Java 开发框架,它提供了众多组件,这些组件共同协作,为开发者构建企业级应用提供了全面的支持。以下是对 Spring 主要组件的详细介绍:

1. Spring Core Container(核心容器)

核心容器是 Spring 框架的基础,它提供了依赖注入(DI)和控制反转(IOC)的功能,负责创建、管理和维护 Bean 对象。

  • BeanFactory:Spring 最基础的容器接口,定义了创建和管理 Bean 的基本方法。它采用懒加载机制,只有在需要时才会创建 Bean 实例。
  • ApplicationContext:是 BeanFactory 的子接口,在 BeanFactory 的基础上进行了扩展,提供了更多的企业级特性,如国际化支持、事件发布、AOP 支持等。常见的实现类有 ClassPathXmlApplicationContextFileSystemXmlApplicationContextAnnotationConfigApplicationContext 等。
  • BeanDefinition:用于描述 Bean 的元数据,包括 Bean 的类名、作用域、依赖关系等。Spring 容器根据 BeanDefinition 来创建和管理 Bean 实例。

2. Spring AOP(面向切面编程)

AOP 是 Spring 框架的一个重要特性,它允许开发者在不修改原有代码的情况下,对程序进行增强。

  • AspectJ:Spring AOP 支持使用 AspectJ 作为底层实现。AspectJ 是一个功能强大的 AOP 框架,提供了丰富的切面编程语法和工具。
  • Advice(通知):定义了在目标方法执行前后或抛出异常时要执行的代码。常见的通知类型包括前置通知(Before Advice)、后置通知(After Advice)、返回通知(After Returning Advice)、异常通知(After Throwing Advice)和环绕通知(Around Advice)。
  • Pointcut(切入点):用于定义哪些方法会被 AOP 增强。可以使用表达式来指定切入点,例如使用 AspectJ 表达式。
  • Aspect(切面):是通知和切入点的结合,定义了在哪些切入点上应用哪些通知。

3. Spring Data Access(数据访问)

Spring 提供了对数据访问的支持,简化了与数据库、文件系统等数据存储的交互。

  • JDBC(Java Database Connectivity):Spring JDBC 模块提供了对 JDBC 的抽象,简化了 JDBC 编程的复杂性。通过 JdbcTemplate 等工具类,可以方便地执行 SQL 语句、处理结果集等。
  • ORM(Object Relational Mapping):Spring 支持多种 ORM 框架,如 Hibernate、MyBatis 等。通过与这些 ORM 框架集成,可以实现对象与数据库表之间的映射,方便进行数据库操作。
  • Transaction Management(事务管理):Spring 提供了统一的事务管理抽象,支持编程式事务和声明式事务。声明式事务通过 AOP 实现,开发者可以使用注解(如 @Transactional)来管理事务。

4. Spring Web(Web 开发)

Spring 提供了丰富的 Web 开发组件,用于构建 Web 应用程序。

  • Spring MVC(Model-View-Controller):是 Spring 提供的一个基于 MVC 模式的 Web 框架,用于构建 Web 应用程序。它通过控制器(Controller)处理请求,将请求转发给相应的服务层进行处理,并将处理结果返回给视图(View)进行展示。
  • Spring WebFlux:是 Spring 5 引入的响应式 Web 框架,用于构建异步、非阻塞的 Web 应用程序。它基于 Reactor 项目,支持响应式编程模型。
  • RESTful Web Services:Spring 支持构建 RESTful Web 服务,通过 @RestController 注解和 @RequestMapping 等注解,可以方便地定义 RESTful 接口。

5. Spring Security(安全框架)

Spring Security 是 Spring 提供的一个强大的安全框架,用于保护 Web 应用程序和服务的安全性。

  • Authentication(认证):用于验证用户的身份,确保用户是合法的。常见的认证方式包括基于表单的认证、基本认证、OAuth 认证等。
  • Authorization(授权):用于控制用户对资源的访问权限,确保用户只能访问其有权限访问的资源。可以通过角色、权限等方式进行授权。
  • Web Security:提供了对 Web 应用程序的安全保护,包括防止跨站请求伪造(CSRF)、会话管理、密码加密等功能。

6. Spring Messaging(消息传递)

Spring Messaging 提供了对消息传递的支持,用于构建异步、松耦合的应用程序。

  • JMS(Java Message Service):Spring 支持与 JMS 集成,用于实现基于消息队列的异步通信。可以使用 JmsTemplate 等工具类来发送和接收消息。
  • AMQP(Advanced Message Queuing Protocol):Spring 支持与 AMQP 协议的消息队列集成,如 RabbitMQ。通过 RabbitTemplate 等工具类,可以方便地进行消息的发送和接收。
  • WebSocket:Spring 支持 WebSocket 协议,用于实现实时通信。可以使用 @MessageMapping 等注解来处理 WebSocket 消息。

7. Spring Boot

Spring Boot 是 Spring 提供的一个快速开发框架,用于简化 Spring 应用程序的开发和部署。

  • 自动配置:Spring Boot 会根据项目的依赖自动进行配置,减少了开发者的配置工作量。
  • 起步依赖:提供了一系列的起步依赖,开发者可以根据项目的需求选择相应的依赖,Spring Boot 会自动处理依赖关系。
  • 嵌入式服务器:Spring Boot 支持嵌入式服务器,如 Tomcat、Jetty 等,开发者可以将应用程序打包成可执行的 JAR 文件,直接运行。

示例代码

以下是一个简单的 Spring Boot 应用程序示例,展示了如何使用 Spring MVC 构建一个简单的 RESTful Web 服务:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;// 使用 @SpringBootApplication 注解标注主应用类
@SpringBootApplication
// 使用 @RestController 注解标注控制器类
@RestController
public class HelloWorldApplication {public static void main(String[] args) {// 启动 Spring Boot 应用程序SpringApplication.run(HelloWorldApplication.class, args);}// 定义一个 RESTful 接口@GetMapping("/hello")public String hello() {return "Hello, World!";}
}

在上述代码中,@SpringBootApplication 注解用于启动 Spring Boot 应用程序,@RestController 注解用于定义一个 RESTful 控制器,@GetMapping 注解用于定义一个 HTTP GET 请求的处理方法。

综上所述,Spring 框架提供了丰富的组件,涵盖了核心容器、AOP、数据访问、Web 开发、安全、消息传递等多个领域,开发者可以根据项目的需求选择合适的组件来构建企业级应用。

待完善

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com