阅读该文章之前首先要清楚Spring框架,SpringMVC框架,Mybatis框架。
SSM框架,是Spring + Spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。
MVC简介
MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写, 是一种用于设计创建 Web 应用程序表现层的模式。
Model(模型): 通常指的就是我们的数据模型。作用一般情况下用于封装数据。
View(视图): 通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。 通常视图是依据模型数据创建的。
Controller(控制器): 是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的。
SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring FrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web
应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring 的 Spring MVC 框架或集成其他 MVC 开发框架。
SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,已成为最优秀的 MVC 框架。
SpringMVC中的常用注解
@GetMapping
作用:用于建立请求URL和处理请求方法之间的对应关系
可以出现在类上,请求URL的第一级访问目录
可以出现在方法上,请求URL的第二级访问目录
value:用于指定请求的URL。它和path属性的作用是一样的
method:用于指定请求的方式
params:用于指定限制请求参数的条件
"""
"""
@RequestParam
作用:把请求中指定名称的参数给控制器中的形参赋值
"""
"""
@RequestBody
作用:用于获取请求体内容。直接使用得到key=value&key=vaule...结构的数据。get请求方式不适用
required:是否必须有请求体。当取值为true时,get请求会报错。如果取值为false,get请求得到是null
"""
"""
@PathVariable
作用:用于绑定URL中的占位符。url中有/delete/{id},{id}就是占位符。
"""
"""
@RequestHeader
作用:用于获取请求消息头
"""
"""
@CookieValue
作用:用于把指定cookie名称的值传入控制器方法参数
"""
"""
@ModelAttribute
作用:可以修饰方法和参数。出现在方法上,表示当前方法会在控制器的方法执行之前执行,先执行。出现在参数上,获取指定的数据给参数赋值
value 用于获取数据的key
"""
"""
@SessionAttributes
作用:用于多次执行控制器方法间的参数共享
value 用于指定存入的属性名称
type:用于指定存入的数据类型
新注解
@RequestMapping 和 @GetMapping @PostMapping 区别
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。
@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。
Spring是什么?
Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。
体系结构
核心容器(Core Container):Spring的核心容器是其他模块建立的基础,有Spring-core、Spring-beans、Spring-context、Spring-context-support和Spring-expression(String表达式语言)等模块组成
数据访问/集成(Data Access)层:数据访问/集成层由JDBC、ORM、OXM、JMS和事务模块组成。
Web层:Web层由Spring-web、Spring-webmvc、Spring-websocket和Portlet模块组成。
AOP(Aspect Oriented Programming)模块:提供了一个符合AOP要求的面向切面的编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以便干净地解耦。
植入(Instrumentation)模块:提供了类植入(Instrumentation)支持和类加载器的实现,可以在特定的应用服务器中使用。
消息传输(Messaging):Spring4.0以后新增了消息(Spring-messaging)模块,该模块提供了对消息传递体系结构和协议的支持。
测试(Test)模块:Spring-test模块支持使用JUnit或TestNG对Spring组件进行单元测试和集成测试。
引入jar包
"""
"""
导入约束
"""
"""
常见注解
用于创建对象
@Component:把资源让spring来管理。相当于xml中配置一个bean。value:指定bean的id,如果不指定value属性,默认bean的id是当前类的类名。首字母小写
@Controller:与@Component功能一样,一般用在表现层,便于分层
@Service:与@Component功能一样,一般用在业务层,便于分层
@Repository:与@Component功能一样,一般用于持久层,便于分层
"""
"""
用于注入数据
@Autowired:自动按照类型注入。当使用注解注入属性时,set方法可以省略。它只能注入其他bean类型。当有多个类型匹配时。使用要注入的对象变量名称作为bean的id,在spring容器中查找,找到了注入成功,找不到就报错。
@Qualifier:在自动按照类型注入的基础上,再按照Bean的id注入。它在给字段注入时不能单独使用,必须和@Autowire一起使用;但是给方法参数注入时,可以单独使用。value属性是指定Bean的id
@Resource:直接按照Bean的id注入。它也只能注入其他Bean类型。name属性是指定Bean的id
@Value:注入基本数据类型和String类型数据
"""
"""
用于改变作用范围
@Scope:指定Bean的作用范围。value属性指定范围的值--singleton单例,prototype多例,request作用与web应用的请求范围,session作用与web应用的会话范围,global-session作用与集群环境中会话范围
"""
"""
和生命周期相关(了解)
@PostConstruct:用于指定初始化方法
@PreDestroy:用于指定销毁方法
Spring5
@Configuration:用于指定当前类是一个spring配置类,当有容器时会从该类上加载注解。获取容器是使用AnnotationApplicationContext(有@Configuration注解的类.class)
@ComponentScan:用于指定spring在初始化容器时要扫描的包。作用和在spring的xml配置文件找那个的
@Bean:该注解只用用在方法上,表明使用此方法创建一个对象,并且放入spring容器中
@Import:用于导入其他配置类,解耦合
"""
"""
Spring整合Junit
@RunWith:替代原有的运行器
@ContextConfiguration:指定配置文件的位置
"""
"""
从IOC容器中获取对象
"""
"""
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
Mybatis简介
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于类路径(classpath)中即可。
如果使用 Maven 来构建项目,则需将下面的依赖代码置于 pom.xml 文件中:
"""
"""
配置步骤
1.引入Mybatis的jar包
2.编写实体类与DAO接口
3.添加主配置文件(配置mysql环境,事务类型,数据源,连接数据库的基本信息,映射文件的位置)
4.添加DAO接口的映射文件(需要指明DAO接口的位置,为每个方法做一个映射)注:所在路径在Resource文件夹下,目录路径需要DAO的层次结构一样
5.使用mybatis框架
使用步骤(所有的xml配置已配置完毕)
1.读取配置文件,可使用mybatis封装的Resources类。
2.创建SQLSessionFactory工厂
3.使用工厂生产SQLsession对象
4.使用SQLSession创建DAO接口的代理对象
5.使用代理对象执行方法
6.提交事务,释放资源
基础数据
实体类
"""
"""
DAO层的接口
"""
"""
主配置文件
"""
"""
子配置文件
"""
"""
测试类
"""
"""
总结
配置顶层结构:
常用标签设置
具体配置的详解请去mybatis官网
1.先搭建整合的环境
2.把Spring的配置搭建完成
3.再使用Spring整合SpringMVC框架
4.最后使用Spring整合Mybatis框架
设计数据库
"""
"""
搭建环境,选择maven工程,选择骨架webapp
导入依赖
"""
"""
创建目录结构,创建domain,controller,service,dao
web依赖于service,service依赖于dao,dao依赖于domain
domain
"""
"""
Controller层
"""
"""
service层
"""
"""
dao层
"""
"""
index页面
"""
"""
Success页面
"""
"""
编写Spring框架
applicationContext文件
"""
"""
编写SpringMVC框架
web.xml
"""
"""
Springmvc.xml
"""
"""
整合SpringMVC框架
在Controller中能够成功调用service对象中的方法
在web.xml中配置ContextLoaderListener监听器。加载applicationContext.xml文件
在项目启动的时候,就去加载applicationContext.xml的配置文件,在web.xml中配置ContextLoaderListener监听器。(该监听器只能加载WEB-INF目录下的applicationContext.xml的配置文件)
"""
"""
编写Mybatis框架
在web项目中编写SqlMapConfig.xml的配置文件,编写核心配置文件(AccountDAO接口的方法上添加注解,编写Sql语句)
"""
"""
整合Mybatis框架
把SqlMapConfig.xml配置文件中的内容配置到applicationContext.xml配置文件中,同时配置Spring的声明式事务管理
"""
"""
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/12824.html