中软国际day4

今天是对于SSM,三种框架的深入学习和理解

Spring

概述:

为了解决项目中各层之间的松耦合问题(起到组件之间的粘结作用). 开源框架.

好处:

1.不依赖于应用服务器.
2.IOC(控制反转)技术实现组件控制, 通过DI(依赖注入)技术提高了组件之间的解耦.
3.通过AOP(面向切面编程)技术实现安全、事务、日志功能的统一管理,提高复用.
4.Spring框架可以几乎与其他任何框架进行良好的整合使用.
5.Spring所有项目之间不相互依赖.

IOC和DI :

IOC : 控制反转. 本质: 将手动创建对象的工作,交给Spring容器实现完成.

1.在Spring容器中可以配置创建实例对象.无论带参,无参构造实例都是可以实现的.

Spring.xml容器中配置: <bean id=”’ class=”” >

2.如何通过注解的用法代替Spring配置文件中的写法.实现IOC控制.

2.1: 首先需要在实体类中: 采用注解.

@Component , @Controller , @Service , @Repository

2.2: 基于spring容器配置注解的扫描和支持.

<context:component-scan  base-package="父包">

切记 :
当采用IOC注解的方式进行对象的创建,在没有指定对象名的情况下,默认生成对象名称: 类名称首字母小写作为: 默认的对象名.

DI : 依赖注入.含义 : 指的是针对实体类中: 属性成员赋值操作.

针对实体中的属性实现注入: 采用容器配置写法实现.

1.1:类中依赖的属性: 必须get/set封装.

1.2:进行注入:<property name=”属性名” value=”属性值” ref=”属性引用”/>

属性的注入: 也可采用注解的写法实现.

//无需提供属性的get/set封装方法实现注入.

@Resource(name=”对象名”) //根据对象名称进行spring容器查找,并注入.

Private BanJi bj1;

@Autowired //根据类型进行spring容器查找,找到指定类型对象,直接注入.

Private BanJi bj1;

SpringMVC

概述

一款表现层MVC框架.

1.springMVC的加载核心控制器:DispatcherServlet.

内部: 1.1:初始化方法中将进行各种组件解析器的加载.

              initMultipartResolver(context);

              initLocaleResolver(context);

              initThemeResolver(context);

              initHandlerMappings(context);

              initHandlerAdapters(context);

              initHandlerExceptionResolvers(context);

              initRequestToViewNameTranslator(context);

              initViewResolvers(context);

              initFlashMapManager(context);
  1. HandlerMappings核心组件:创建映射器:

将客户端的请求地址 : 用于匹配所有的@RequestMapping注解地址.

如果没有自定义的解析器

将采用默认的:
BeanNameUrlHandlerMapping.

  1. HandlerAdapters适配器: 可以负责调用找到的Controller对象和方法.

默认适配器: SimpleControllerHandlerAdapter

  1. ViewResolvers: 视图解析器. 当用户响应视图时,

用作视图页面的解析展示.

默认视图解析器: InternalResourceViewResolver.

所有的用户请求都将在DispatcherServlet中的doService()方法中实现:

1.匹配器的匹配.
2.匹配成功后的适配器调用.
3.返回结果视图解析器的解析.
4.最终由DispatcherServlet完成响应.

Mybatis

概述:

一个持久层操作框架.

Mybatis与hibernate 使用区别:

Hibernate : 可以高度的对jdbc实现封装. 不用编写sql,即可映射操作数据库. 针对复杂的多表关系, 可以方便关联操作. 场景: 当业务实体之间关系关联操作时,hibernate擅长处理. 不擅长: 复杂的业务关联关系.

示例: OA.政府档案,数据管理系统.

Jdbc : 其实所有的持久层框架都是以JDBC为基础,进行封装优化. 好处: 单个操作效率高. 缺点: 参数传递,返回值封装.

Mybatis : 其实针对jdbc的完美封装, 保留了jdbc的sql编写方式. 优化了参数绑定,返回值封装等缺点.学习成本低.

示例: 网上电商, 金融项目

体架构:

SqlMapConfig.xml(核心配置文件) : 体现SqlSessionFactory,SqlSession.

Mapper.xml(动态sql语句实现)

MappedStatement(方便动态加载sql,用于绑定参数,封装返回值).

DB(数据库)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值