三大框架笔记

三大框架SSM

SSM:
SpringMVC框架:用来接受浏览器的请求和给浏览器做出响应;
Spring框架:框架主要用来完成中间的业务,主要的功能包括:IOC / DI;
Mybatis:框架用来和数据库交互,底层是JDBC;
1、maven
1)概况
跨平台的项目管理工具;
主要服务于java平台的项目构建、依赖管理和项目信息管理;
自动管理jar包;
2)特征
仓库
中央仓库—国外的远程仓库;
镜像仓库----国内从中央仓库下载后提供;
本地仓库----磁盘存储位置;

依赖------每一个核心jar包形成一个依赖,自动导入;
坐标----jar包的存储位置;
命令----常用命令—clean清理----package打包;
3)idea继承maven+创建maven工程
–File-New-Project-选Maven-next-输入工程名/groupId-Finish
–配置maven管理工程
–File-Settings-maven-配置三处(解压位置/settings.xml/本地仓库)-ok
–双击打开pom.xml文件,不报错就行了.
如果报错,打开右侧的Maven视图-点击刷新就行了maven会再去下载jar包
2、springBoot
1)概述
简化了Spring框架的开发和配置过程;
本质上是一个maven项目;
2)idea创建springboot项目
–File-New-Project-选择springboot项目-next-输入名字(groupId/项目id/改成java8)-选中要用的功能(spring web)-Finish
–配置maven
Settings-maven-配置(解压的位置/settings的位置/本地仓库的位置)-ok
–刷新maven
–使用自动生成的文件,并运行,表示服务器已启动(小红点亮起)
注:若运行后报错为8080端口被占用,解决方式:
(1)桌面—选中此电脑—右键—管理–服务和应用程序—服务—OracleXETNSListener–关闭;
(2)执行DOS命令处理:
C:\Users\lpx>netstat –ano --查看所有端口号,找到8080端口对应的PID号
C:\Users\lpx>taskkill -pid 688 –f --杀死688进程号
(3)直接使用yml方式配置修改端口号:
在src/main/resources下添加application.yml文件,内容如下:
server:
port: 8090
3)HelloController
@RestController
public class HelloController{
@RequestMapping(“参数”)
public void hi(){ };
}
3、SpringMVC
1)概述
分层,降低耦合;
M—model—数据模型,封装数据;
V—view—视图,展示页面数据;
C----controller—控制层,接受view发来的请求,给view做响应数据的展示;
2)工作原理
浏览器放出请求给前端控制器,前端控制器解析请求,把url发给处理器映射器;
映射器找到对应的controller类返回给前端控制器;
前端控制器再把controller类名给处理器适配器;
处理器适配器进行controller、view、Dao的业务操作后返回模型视图给前端控制器;
前端控制器把视图模型给视图解析器;
视图解析器解析模型视图返回视图对象给前端控制器;
前端控制器把视图对象给视图渲染;
视图渲染通过视图对象返回视图即完成响应;
3)注解
@RestController----标记着这个类是Controller层的代码+会把返回的数据自动变成json;
@RequestMapping—把地址栏里的url信息和哪个Controller进行匹配;
@PathVariable—用在局部变量上,表示传入对应的参数;
@SpringBootApplication—
@Controller
@
4)前后端整合
(1)整合前端时要解决日期格式问题和跨域问题;
其中,解决日期格式问题需要在日期上使用注解@DateTimeFormat(pattern = “yyyy-MM-dd”);
解决跨域问题需要在controller类上使用注解@CrossOrigin(origins = “*”)—放行所有请求;
4、Spring框架
1)IOC:控制反转
(1)概述
把对象的创建、对象的存储、对象的查找交给了spring容器;
(2)实现方式
#1、手动配置xml文件,添加 <bean class=“类的全路径” id=“类名”)</bean)
#2、用注解实现
@Component—把该类交给Spring框架IOC(new);
配合核心配置文件
<context:component-scan base-package=“包名” /)—扫描所有带有该注解的类进行IOC;
#3、自己实现IOC
底层是一个map集合,其中Key值为类名,Value值为new()
(3)测试步骤
ClassPathXmlApplicationContext spring=new ClassPathXmlApplicationContext( “spring-config.xml”);
类 x=(向上转型)spring.getBean(“id值”);
2)DI:依赖注入
(1)概述
使用@Autowired注解实现对象间的依赖关系;
@Autowired—自动装配,相当于底层提供了get/set
(2)自己实现DI
底层为暴力反射获取所有变量并遍历,判断是否有该注解,有就赋值new()相关类的对象;
3)AOP面向切面编程
拦截器
(1)概述
将业务代码与非业务代码分开;
(2)实现步骤
#1、定义拦截器
创建实现类实现HandlerInterceptor接口,重写preHandle()、postHandle()、afterCompletion();
#2、添加拦截器/注册拦截器
定义实现类实现webMvcConfigurer接口,自动装配定义拦截器对象,重写addInterceptors();
5、MVC项目
创建Car类用于封装属性;创建CarService接口用来优化;创建CarServiceImpl类实现CarService接口实现具体业务层代码;创建CarController类接受浏览器请求做出相应;
6、MyBatis框架
1)概述
用来连接数据库的持久层框架,简化了jdbc的开发,自动完成ORM映射(类里的属性值 和 表里的字段值 自动映射)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值