1:Spring框架核心-Java Spring

简介: 1:Spring框架核心-Java Spring

1.1 软件模块化

把一个程序分割成一些不同的部分,可以在某种程度上减少它的复杂性,多层体系结构的优点有:

  • 结构简单,便于不同技能的程序员分工负责不同的层
  • 便于测试,每一层都可以独立测试
  • 变更可控,可以把代码的变更控制在一层之内,不会影响其他的层

Model-View-Controller将软件用户界面和业务逻辑分离

Model-View-Controller将软件用户界面和业务逻辑分离

1.2 Spring框架介绍

Spring 是一款目前主流的 Java EE 轻量级开源框架 ,是由“Spring 之父”Rod Johnson 提出并创立,其目的是用于简化 Java 企业级应用的开发难度和开发周期,成为了构建 Java EE 应用的事实标准


两大核心IOC 与 AOP有效的管理了开发中对象的生命周期问题,也提供了与很多框架整合的工具

1.3 Spring框架的配置

1.4 Servlet

Servlet是运行在 Web 服务器或应用服务器上的Java程序,它可以收集来自前端的用户输入数据,以动态生成网页的方式呈现来自数据库的记录,其作用包括:

  • 通讯功能
  • Servlet对象的生命周期管理
  • 多线程支持
  • 安全性支持

1.5 Spring容器

Spring容器来负责创建对象并把对象关联起来提供服务,容器提供了公共服务,容器依赖于配置信息,Spring拥有两种类型的容器

  • BeanFactory负责读取bean配置信息,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的生命周期,每次获取对象时才会创建对象
  • ApplicationContextt由BeanFactory派生而来,同时也继承了容器的高级功能,提供了更多面向实际应用的功能。在容器启动时就会创建所有的对象
    Spring Bean的生命周期从创建容器开始,到容器销毁Bean为止

1.6 Spring Bean对象的注解

Spring中的常用的注解通常分为两类,一类是用来注册Bean,一类是用来使用Bean,简单的来说bean就是一个被实例化的对象,Spring Bean的生命周期从创建容器开始,到容器销毁Bean为止

1.注册Bean

注册Bean时,@Controller, @Service, @Repository与@Component含义相同,分别用于标识Controller层,Service层,DAO层的Bean对象,这些注解都是把你要实例化的对象转化成一个Bean,放在IOC容器中,把对象交给Spring去管理

2.使用Bean

  • 使用Bean时,即是把已经在xml文件中配置好的Bean拿来用,完成属性、方法的组装,当我们需要使用时直接去IOC容器中去取,而不是new一个新的对象,比如@Autowired,@Resource注解,就是从IOC容器中取Bean

1.7 控制反转

控制反转(Inversion of Control,缩写为IoC),是指Bean对象之间的依赖不由它们自己管理,而是由Spring容器负责管理对象之间的依赖,采用叫依赖注入(Dependency Injection,简称DI)的方式实现控制反转

当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例

但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入

1.常见的管理对象方式有

  • XML:显式定义在XML文件中
  • Java:用Java代码显式的定义
  • 注解:@用注解定义属性, 支持自动绑定

2.Spring注解方式

  • @Autowired时,首先在容器中查询对应类型的bean
  • 如果查询结果刚好为一个,就将该bean装配给@Autowired指定的数据
  • 如果查询的结果不止一个,那么@Autowired会根据变量的名称来查找。
目录
相关文章
|
4天前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
|
17天前
|
数据采集 监控 前端开发
二级公立医院绩效考核系统源码,B/S架构,前后端分别基于Spring Boot和Avue框架
医院绩效管理系统通过与HIS系统的无缝对接,实现数据网络化采集、评价结果透明化管理及奖金分配自动化生成。系统涵盖科室和个人绩效考核、医疗质量考核、数据采集、绩效工资核算、收支核算、工作量统计、单项奖惩等功能,提升绩效评估的全面性、准确性和公正性。技术栈采用B/S架构,前后端分别基于Spring Boot和Avue框架。
|
13天前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
基于开源框架Spring AI Alibaba快速构建Java应用
|
13天前
|
消息中间件 Java 数据库连接
Java 反射最全详解 ,框架设计必掌握!
本文详细解析Java反射机制,包括反射的概念、用途、实现原理及应用场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Java 反射最全详解 ,框架设计必掌握!
|
1天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
9 2
|
13天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
32 2
|
13天前
|
消息中间件 NoSQL Java
springboot整合常用中间件框架案例
该项目是Spring Boot集成整合案例,涵盖多种中间件的使用示例,每个案例项目使用最小依赖,便于直接应用到自己的项目中。包括MyBatis、Redis、MongoDB、MQ、ES等的整合示例。
61 1
|
16天前
|
缓存 Java 数据库连接
Hibernate:Java持久层框架的高效应用
通过上述步骤,可以在Java项目中高效应用Hibernate框架,实现对关系数据库的透明持久化管理。Hibernate提供的强大功能和灵活配置,使得开发者能够专注于业务逻辑的实现,而不必过多关注底层数据库操作。
10 1
|
8天前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
14 0
|
9天前
|
存储 Java 开发者
Java中的集合框架深入解析
【10月更文挑战第32天】本文旨在为读者揭开Java集合框架的神秘面纱,通过深入浅出的方式介绍其内部结构与运作机制。我们将从集合框架的设计哲学出发,探讨其如何影响我们的编程实践,并配以代码示例,展示如何在真实场景中应用这些知识。无论你是Java新手还是资深开发者,这篇文章都将为你提供新的视角和实用技巧。
10 0