Spring框架介绍

一、Spring是什么

spring是JavaEE轻量级一站式开发框架,用于开发bs程序,只需少量的代码启动框架,提供对表现层,服务层,持久层的所有支持

二、Spring框架的作用是什么

因为spring是轻量级框架,开发中主要用于整合其他框架

三、IOC是什么,以及解决了什么问题

IOC名词为控制反转,将代码的调用权从调用方转移给被调用方,在使用一个接口或类的引用时不用直接new,目的为了具有依赖对象之间的解耦,实现代码的低耦合,提高开发效率和代码质量。

四、IOC的原理图

在这里插入图片描述

五、Spring配置入门流程图

在这里插入图片描述

六、Spring配置步骤

第一步:创建环境
(1)创建目录结构
在这里插入图片描述
(2)导入四个基础支撑包,和Spring日志Commons依赖包
在这里插入图片描述
第二步:创建配置文件
在这里插入图片描述
第三步:创建对象到容器里面
(1)创建一个类
在这里插入图片描述
(2)applicationContext.xml配置文件加入配置
在这里插入图片描述
(3)创建测试类使用getBean获得容器中的对象
在这里插入图片描述

七、Spring配置文件的常用标签,以及作用

1、alias标签
作用:为已配置的bean设置别名
在这里插入图片描述
2、bean标签
作用:用于声明一个类,在启动Spring框架的时候根据该配置的类创建对象到容器里面
(1)id :被管理的对象的唯一标识
(2)name : 给被管理的对象取的名词,可以有多个,多个直接用空格隔开
name和id没有太大区别,都可以使用,但是id只能有一个
(3)class :被管理类的全限定名
(4)scope:设置bean对象的作用方法
singleton 单例(默认) 用的最多
prototype 多例
request :在web开发一次请求
session :在web开发中一次会话有效
(4)init-method: 初始化方法,在对象创建完以后立马执行 init destory
值:就是类中对应的方法名称
(6)destroy-method:销毁方法
如果对象是单例,在容器关闭时候才会执行方法,
如果对象时多例,Spring容器不会调用销毁方法,Spring认为多例

< bean> < property name="" ref="" /> < /bean>
作用:property包含在bean标签中,对其他bean的引用,列表,映射 和属性
name:引入bean类公开的JavaBean setter方法
ref:定义配置文件其他bean的引用(其他bean的id或name)

3、<context:component-scan base-package=""/>
作用:扫描指定包下的所有类

4、<context:property-placeholder location=“classpath:xxx.properties”/>
作用:读取后缀名为properties的数据库配置文件

5、< tx:advice id=“txAdvice” transaction-manager="">
作用:tx:advice配置事务的标签,transaction-manager需要用到的事务管理器
(1)< tx:attributes> 作用:在事务管理器中配置事务增强的属性
< tx:method/> 作用:配置事务增强的具体方法
name :要处理事务的具体的方法
select* find* get* query*
isolation :事务的传播规则
propagation :事务的隔离级别
timeout :事务超时时间
read-only :是否是只读事务 DQL操作为只读,DML为非只读
顺序DQL在前,DML在后
</ tx:attributes>

</ tx:advice>

6、<tx:annotation-driven transaction-manager=“transactionManager”/>
作用:开始Spring事务的注解驱动

7、< aop:config> 作用:开启SpringAop的配置
< aop:pointcut expression=“execution(* cn.spring.service….(…))” id=“pt”/>
作用:切入点,标明切入的类和切入的方法,expression使用aspectj语法

<aop:advisor advice-ref="txAdvice" pointcut-ref="pt" />
作用:<aop:advisor>配置切面,即拦截处理类,是切入点和通知的结合。
advice-ref	通知的引用,当前 事务通知
 		pointcut-ref  切入点的id值
默认底层使用的环绕通知(事务管理器自动管理事务)
=======================================
自定义配置切面aop
<aop:aspect ref="txManager">	切面	ref  事务管理器id
<aop:before method="begin" pointcut-ref="pt"/>
前置增强
method: txManager  事务管理器对应的方法名
pointcut-ref :切入点引用

<aop:after-returning method="commit" pointcut-ref="pt"/>
后置增强,在方法正常执行完毕以后增强,提交事务

<aop:after-throwing method="rollback" throwing="e" pointcut-ref="pt"/>
异常增强 
throwing:抛出的异常,值必须和对应方法的参数名相同
抛出的  Throwable 异常(顶级异常)

<aop:after method="close" pointcut-ref="pt"/>
最终增强:关闭session

<aop:around method="allOne" pointcut-ref="pt"/>
环绕通知(配置该标签,上面的四个不用再配置)

 </aop:aspect>

</aop:config>

八、spring框架常用注解及作用

(1)用于类的注解
@Controller:用于声明表示层的组件注解
@Service:用于声明服务层的组件注解
@Repository:用于声明持久层的组件注解
@Component:用于声明三层以外的组件注解
@Scope 作用范围
@PostConstrcut 初始化方法
@PreDestory 销毁方法

(2)引用注入容器对象
@Autowired:用于给引用注入容器的对象。
@Resource:是Spring框架支持Sun官方制定的JSR-250标准注入对象的实现。

@Value
注入基本数据类型以及它们的包装类和String类型数据的,支持 ${ }注入Properties文件的键值对,等同 <proprty name=”...” value=”${Key}”>

(3)测试类注解
@RunWith(SpringJUnit4ClassRunner.class) 表明当前是Spring的测试类
@ContextConfiguration(“classpath:spring.xml”):读取资源加载文件

(4)Aop切面注解
@Aspect 把当前类当做aop切面类
@Pointcut(“execution(* cn.spring.service….(…))”) 指定切入点表达式
@Before 把当前方法看成是前置通知
@AfterReturning 把当前方法看成是最终通知。报异常,就不执行
@AfterThrowing 把当前方法看成是异常通知。只有报异常才执行
@After 把当前方法看成是后置通知。不管报不报异常都执行

@Around 把当前方法看成是环绕通知。

(5)事务注解
侵入代码,每个Service层类都得配置,针对不同的方法还得配置事务细节:如查询方法配置只读操作,不容易维护,建议选择xml配置
@Transactional
作用:说明当前类被Spring事务管理
isolation = Isolation.READ_COMMITTED 事务的隔离级别
propagation = Propagation.REQUIRED 事务的传播规则
timeout = 5 超时时间统计
readOnly = false/true 设置是否为只读事务

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本系统开发平台: JSP + MYSQL 本系统集成开发环境: Eclipse + Tomcat 本系统运行环境: Windows OS 网上选课系统 系统功能说明 1.管理员 ①可以对学生信息通过诸多条件进行查询; ②可以对学生信息进行修改以及删除; ③添加一个新的学生信息 ④可以对教师信息查询、修改、删除以及添加。 ⑤可对课程进行修改、删除、查询、以及添加。 2.教师 ①可以查询管理员添加的课程信息,并选择自己需要教学的课程。 ②选择自己教学课程后对该课程进行安排,包括上课时间、上课地点、学分、学时、总人数等。 ③可以对自己已选教学课程的课程安排进行修改、删除等操作。 ④可以查询自己教学课程的学生选课信息。 ⑤查看自己信息,并可以修改密码。 3.学生 ①可以查询全部管理员已添加的课程,并可以通过课程编号、课程名、课程所属专业、课程类型等条件查询。 ②可以选择查询出来的课程进行选课,选择后进入确认界面,显示课程名,提示是否已有教师安排此课,若有则显示教师姓名,并有确认和取消两个按钮,确认则选课成功,取消则返回上一界面。 ③查看选课结果,用表格形式显示出课程名、上课教室、上课地点、学分、学时以及代课教师。没有教师安排的课程无法查出,只能在退选中查看单独的课程名。 ④退选已选课程,先查询出自己已选的所有课程,通过课程名选择退选。 ⑤查看个人所有信息,只可以修改密码。
Spring框架是一个流行的开源应用框架,它能解决许多问题。它以"bean工厂"为核心,通过轻量级控制反转(IoC)来实现。在Spring框架中,应用对象可以被声明式地组合,通常是在一个XML文件中进行配置。Spring还提供了许多基础功能,如事务管理和持久化框架集成,它将应用逻辑的开发留给开发者。Spring框架非常轻量,可以在一个大小只有1MB多的JAR文件中发布。此外,Spring框架的处理开销也非常小。它还是非侵入式的,这意味着Spring应用中的对象不依赖于Spring的特定类。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [计算机专业Java外文翻译 中文+英文(Spring框架介绍)](https://download.csdn.net/download/IT_YQG_/86566000)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Spring框架介绍](https://blog.csdn.net/weixin_57849985/article/details/121779021)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值