学习Spring的第一天

Spring是一个为企业应用解决复杂性的开源框架,强调使用JavaBean和IoC/控制反转。文章介绍了Spring的基本组成,如SpringMVC和SSM组件,以及SpringIoC(控制反转)和AOP(面向切面编程)的概念和作用。
摘要由CSDN通过智能技术生成

什么是Spring框架

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都 可以从Spring中受益。

Spring的优点

Spring的基本组成

Spring框架搭建流程

一、初始依赖
1.创建一个空的maven项目

2.在pom.xml中添加依赖
包括:
a.junit
b.servlet
c.mysql-connector,连接池
d.jsp,jstl
e.mybatis
f.mybatis-spring
g.spring

二、SSM三大组件
1.Controller层
首先,需要将项目构建成为web项目。
构建完成后,在web.xml中需要添加字符集过滤,将字符集设置为utf-8,同时,对于web.xml中
还需要添加spring核心控制器(曾经,所有的servlet的注册都放在了web.xml,现在将改任务交给spring处理,所以改成了spring核心控制器,所有的servlet请求和映射都要经过spring核心控制器),这里就包括DispatcherServlet,将他的启动等级设置为1,并关联该核心控制器的配置问将spring-mvc.xml。
配置完上面的内容后,需要配置核心控制器的xml文件spring-mvc.xml。
包括:
  扫描包路径:用于关联控制层的类
  注解驱动:用于使用在controller类中使用注解开发,如requestmapping等
  静态资源过滤:静态资源指jsp,http等文件,过滤的原因是由于前面配置的DispatcherServlet会拦截所有的url请求,而静态资源不需要后端处理,只需要web应用服务器的Servlet处理返回给请求方,所以静态资源可以用mcv中的default-servlet-handler。
  视图解析器:视图解析器即将所有的请求结果解析后返还给前端,这里有prefix和suffix


之后为静态资源在WEB-INF下创建一个jsp包。

这里控制层就完成了!注意,控制层的申请方式包括转发和重定向。

2.Service层
Service层就是调用Dao层处理数据,为了使用spring容器托管service层的类,我们需要配置一个spring-service.xml的文件,用于注册和管理Service层的接口
包括:
扫描包路径:spring托管的时项目中那个service包
注册service的接口:完成包的扫描后需要注册接口,这样spring才能管理它
事务声明:为了维护ACID特性,需要配置事务声明
AOP事务支持:该层还能支持aop,不过需要导入一个weaver的包。aop的功能就是在执行一个service的时候可以增加附加操作,包括before,after,around等。

业务层就完成了,走后是持久层

3.Dao层
由于Dao层使用mybatis处理,所以需要一个mybatis.xml的配置文件,同样为了交给spring托管,还需要一个spring-dao.xml的配置文件。
mybatis.xml:这个文件一般用于配置Dao层包的别名以及相关mapper的注册等
spring-dao.xml:要将Dao层的bean交给spring托管,那么必须有数据库连接用于处理sql查询,曾经使用的SqlSessionFactory同样用于SqlSesion的创建。所以需要如下配置:数据源设置,SqlsessionFactory类的注册,使用MapperScannerConfiguer创建SqlSession并将它关联到对应的Mapper包,也就是Dao包。

注意:数据元的配置可以使用一个properties文件来对数据源进行管理,使用时,只需要将该文件导入到spring-dao.xml中,使用context:property-placeholder来进行

所有的配置都进行完毕,最后需要将这些spring的配置整合在applicationContext.xml中,使用import标签。 

什么是Spring IoC

1、IOC不是一种技术而是一种设计思想,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
2、在传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对 象的创建;
3、何为控制反转?
传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;
因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了

IoC的作用

IoC(Inversion of Control,控制反转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。而Spring提供了IOC容器来帮我们生成所需要的对象。也就是说在我们原先的对象中有用到其他对象的地方Spring会帮我们来注入。不用我们再去考虑这些问题。

什么是Spring AOP

Spring中的AOP,即面向切面编程,通过预编译方式和运行期动态代理实现程序功能和统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而是的业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同事提高开发的效率。

AOP核心概念

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值