还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
框架搭建SpringSpring是一个强大的开源框架,用于构建企业级Java应用程序它提供了全面的功能,包括依赖注入、面向切面编程、数据访问和Web开发框架概述Spring轻量级框架依赖注入面向切面编程Spring是一个轻量级的开源框架,旨在简Spring的核心是依赖注入(DI)模式,它Spring支持面向切面编程(AOP),这有化企业级Java应用程序的开发允许将对象及其依赖关系分离,提高代码的助于将跨多个模块的横切关注点(例如日志可维护性和可测试性记录和事务管理)与业务逻辑分离框架的特点Spring非侵入式面向切面编程松耦合Spring框架不强迫应用程序使Spring框架支持面向切面编程Spring框架通过依赖注入(DI用特定的API,应用程序可以(AOP),可以将横切关注点)机制降低了应用程序之间的自由选择使用Spring框架提供(如日志记录、安全管理)从耦合度,提高了代码的可维护的功能业务逻辑中分离出来性和可测试性轻量级Spring框架体积小,启动速度快,不会增加太多系统开销,适合各种应用程序框架的架构SpringSpring框架采用分层架构,提供丰富的模块和组件,满足不同应用场景的需求核心模块包括核心容器、数据访问/集成、Web、AOP和测试等核心容器是Spring框架的基础,提供IoC容器和依赖注入机制数据访问/集成模块支持JDBC、Hibernate、JPA等数据访问技术Web模块支持Web应用程序开发,包括Spring MVC框架AOP模块提供面向切面编程功能,用于实现跨越多个模块的功能,例如日志记录、事务管理等容器IoC控制反转(Inversion ofControl,IoC)是Spring框架的核心概念之一IoC容器负责管理应用程序中所有对象的创建、配置和生命周期容器组件IoCBean工厂Bean定义负责创建和管理应用程序中的所描述Bean对象的配置信息,包括有Bean对象类名、属性、方法等Bean实例依赖注入Bean工厂根据Bean定义创建的容器负责将Bean对象之间的依赖实际对象实例关系自动注入,实现松耦合的定义和配置BeanXML配置1使用XML文件定义Bean,例如beans.xml文件,通过标签定义Bean的属性和依赖关系注解配置2使用注解方式定义Bean,例如@Component、@Service、@Repository等注解,简化配置流程Java配置3使用Java代码配置Bean,例如@Configuration注解和@Bean注解,提供更灵活和可控的配置方式的作用域Bean
11.单例singleton
22.原型prototype默认作用域,每个Spring容器每次请求都会创建一个新的只有一个实例单例模式适合Bean实例适用于有状态的无状态的Bean Bean,如用户会话
33.请求request
44.会话session每个HTTP请求都会创建一个新每个HTTP会话都会创建一个新的Bean实例适合处理一次性的Bean实例适合管理用户会操作话相关的数据的生命周期Bean实例化1创建Bean实例属性赋值2注入依赖属性初始化3调用初始化方法销毁4调用销毁方法Bean的生命周期描述了Bean在Spring容器中的整个生命过程从实例化开始,Spring会自动完成属性赋值和初始化当Bean不再被使用时,Spring会调用销毁方法进行清理概念AOPAOP是一种面向切面的编程方式,它允许开发人员将跨越多个模块的通用功能(例如日志记录、安全性和事务管理)分离到独立的模块中AOP通过在应用程序中添加切面来实现这些功能,切面可以在不修改现有代码的情况下添加或修改功能AOP允许开发人员将与业务逻辑无关的功能从业务逻辑中分离出来,从而提高代码的模块化和可维护性实现流程AOP目标对象1AOP的核心,需要被增强的方法切面2定义增强逻辑,包含通知和切点代理3代理目标对象,在目标方法执行前后执行增强逻辑通知4增强逻辑,如前置通知、后置通知等切点5定义增强逻辑的执行时机,如方法名、类名等AOP通过代理机制实现增强逻辑,代理对象拦截目标对象的方法调用,并在目标方法执行前后执行增强逻辑通知定义了增强逻辑的类型,切点定义了增强逻辑的执行时机编程实例AOPAOP允许将横切关注点与核心业务逻辑分离,提高代码模块化程度例如,使用AOP实现日志记录功能,只需要编写一个切面,然后将其应用到需要记录日志的方法上通过这种方式,我们可以避免在每个方法中重复编写日志代码,使代码更加简洁易懂模板Spring JDBCSpringJDBC模板为简化JDBC操作提供了一个抽象层它封装了JDBC代码,使开发人员能够以更简洁的方式与数据库进行交互类JdbcTemplate核心类方法JdbcTemplate是Spring框架提供的JDBC操作模板类JdbcTemplate提供了各种方法,例如查询数据、插入数据、更新数据、删除数据等它封装了JDBC操作的底层细节,简化了JDBC开发这些方法参数灵活,可以接收不同的数据类型,并返回相应的结果方法JdbcTemplate查询操作更新操作插入操作存储过程调用查询单个或多个数据记录,返更新数据库记录,包括修改或在数据库中插入新的数据记录执行预定义的数据库存储过程回列表删除操作简介Spring MVCSpring MVC框架是Spring框架的一部分,它提供了一种强大的、基于MVC模式的Web应用程序开发方法Spring MVC框架简化了Web应用程序的开发,并提供了许多开箱即用的功能,例如请求映射、控制器处理、数据绑定、视图解析等工作流程SpringMVC用户请求用户发送HTTP请求到服务器,例如访问一个特定的URLDispatcherServletDispatcherServlet是Spring MVC的核心控制器,接收用户请求并将其转发给相应的处理器处理器映射处理器映射器根据请求URL查找对应的处理器,例如Controller类和方法处理器执行处理器(Controller)负责处理请求,并返回一个ModelAndView对象视图解析器视图解析器根据ModelAndView对象选择合适的视图模板,例如JSP或HTML渲染视图视图渲染器根据视图模板生成最终的响应内容,返回给客户端组件SpringMVCDispatcherServlet HandlerMapping作为SpringMVC的前端控制器,负责将请求映射到相应的处理程接收请求并将其分派给相应的控序(Controller)方法制器HandlerAdapter ViewResolver负责调用处理器方法,并处理方负责将ModelAndView对象解析法返回值,将其转换为为具体的视图,最终呈现给用户ModelAndView对象配置SpringMVC配置文件扫描组件12SpringMVC使用XML或Java配置方式进行配置,其中定SpringMVC通过扫描指定的包,自动注册控制器、服务、义了核心控制器、视图解析器、拦截器等组件数据访问层等组件到Spring容器映射请求处理结果34通过注解或XML配置将请求URL与控制器方法进行映射,SpringMVC使用视图解析器将控制器返回的结果渲染成实现请求的处理HTML页面或其他格式控制器SpringMVC处理请求调用服务返回结果控制器负责接收来自客户端的请求,并将其控制器负责调用相应的服务层方法,执行业控制器负责将处理结果返回给客户端,通常转发到相应的业务逻辑处理层务逻辑以视图的形式展现视图SpringMVC
11.视图解析器
22.视图模板Spring MVC使用视图解析器来处理视图,它负责将逻辑视图名Spring MVC支持多种视图模板,包括JSP、FreeMarker、称转换为实际的视图资源Thymeleaf、Velocity等,可以根据项目的需要选择合适的模板引擎
33.数据模型
44.视图渲染控制器可以将数据模型传递给视图,以便视图根据数据进行渲染视图根据数据模型和模板引擎进行渲染,最终生成HTML页面,并返回给客户端异常处理SpringMVC异常处理机制自定义异常处理SpringMVC提供了一个强大的异常处理机制,允许开发者集中处开发者可以自定义异常处理器,通过实现理应用程序中发生的异常HandlerExceptionResolver接口来处理特定类型的异常开发者可以通过配置特定的异常处理器来捕获和处理特定类型的自定义异常处理器可以根据异常类型返回不同的错误信息,重定异常,从而提供友好的错误信息或进行其他操作向到错误页面,或者执行其他操作拦截器SpringMVC请求拦截请求链拦截器可以拦截请求,并执行预处理操作拦截器可以作为请求处理链的一部分,并根据需要执行其他操作时间管理安全管理拦截器可以用于记录请求处理时间,并用于性拦截器可以用于身份验证、权限控制等安全相能分析和优化关操作事务管理SpringSpring框架提供强大的事务管理功能,简化数据库操作的可靠性事务管理确保数据库操作的原子性、一致性、隔离性和持久性事务传播行为SpringREQUIRED SUPPORTS如果当前方法没有事务,则创建如果当前方法存在事务,则加入一个新的事务;如果当前方法已到当前事务中;如果当前方法没经存在事务,则加入到当前事务有事务,则以非事务方式执行中MANDATORY REQUIRES_NEW如果当前方法存在事务,则加入创建一个新的事务,如果当前方到当前事务中;如果当前方法没法存在事务,则挂起当前事务,有事务,则抛出异常执行完新的事务后恢复当前事务事务隔离级别Spring读未提交读已提交可重复读串行化一个事务可以读取另一个事务一个事务只能读取另一个事务一个事务多次读取同一数据,事务之间完全串行执行,可以未提交的数据,可能会导致脏已提交的数据,可以避免脏读每次读到的数据都相同,可以避免所有并发问题,但性能最读避免不可重复读低事务管理接口Spring1PlatformTransactio2TransactionDefinitnManager ionSpring事务管理核心接口,定定义事务属性,例如隔离级别义了事务管理的核心方法、传播行为、超时时间等3TransactionStatus表示当前事务的状态,包括是否已开始、是否已提交、是否已回滚等注解开发SpringSpring注解提供了一种简化配置和开发的方式通过注解,我们可以将配置信息直接嵌入代码中,无需再编写繁琐的XML配置文件Spring注解可以用于定义Bean、配置依赖关系、管理事务等等使用注解,可以使代码更加简洁、易于维护,提高开发效率注解配置举例SpringSpring框架中的注解为开发者提供了一种更简洁、更灵活的配置方式通过注解,可以轻松地完成依赖注入、切面编程、事务管理等功能的配置,减少了繁琐的XML配置例如,使用不同的注解类型可以进行可选性的一种配置如果你想要将一个数据库进行操作,你可以使用一个注解类型来配置数据库进行操作整合其他框架Spring整合MyBatis整合Redis通过Spring的数据源配置,可以Spring提供了对Redis的支持,轻松地将MyBatis集成到可以轻松实现缓存功能,提高系Spring项目中,实现持久层操作统性能和响应速度整合Quartz整合其他框架使用Spring可以方便地配置和管Spring提供了与其他框架的整合理Quartz定时任务,实现定时执支持,例如Spring Security、行的任务调度Spring Boot等,可以帮助开发者更轻松地构建复杂的应用总结与展望Spring框架的应用未来发展趋势学习Spring框架Spring框架广泛应用于各种Java项目,从Spring框架将继续发展,提供更多功能和学习Spring框架可以提升开发效率,构建企业级应用到移动应用特性,例如云原生支持和微服务架构高质量的应用程序。
个人认证
优秀文档
获得点赞 0