目录
配置Spring MVC的前端控制器,指定Spring MVC配置文件位置
配置Spring框架的ContextLoaderListener
jdbc.properties(database.properties)
三大框架介绍
Spring
Spring框架是一个轻量级的企业级应用框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
优点
Spring框架的优点有以下几点:
1.低侵入式设计2.独立于各种应用服务器3.依赖注入特性将组件关系透明化,降低耦合度4.面向切面编程特性允许将通用任务进行集中式处理5.与第三方框架的良好整合
体系结构
两大核心技术
控制反转(IoC:Inversion of Control)/依赖注入(DI:Dependency Injection)
面向切面编程(AOP:Aspect Oriented Programming)
SpringMvc
SpringMvc本质上是Spring框架的一个模块,是基于MVC的一个web框架
MVC是指,C控制层,M模块层,V显示层这样的设计理念,而SSM框架里面SPRING MVC本身就是MVC框架,作用是帮助(某种意义上也可以理解为约束)我们要按照MVC这样的设计来开发WEB项目,而另外两个框架spring主要是用作IOC,AOP等其他的一些设计原则,至于mybatis是用来方便操作数据库的,所以他们都在MV里面,至于V指的是展示部分,一般是指JSP,freemarks这种前提其实,和SSM就没有太大的关系了
优点
1. MVC 三个模块相互独立,松耦合架构2. 多视图共享一个模型,大大提高代码的可重用性3. 控制器提高了应用程序的灵活性和可配置性4. 有利于软件工程化管理
体系结构
MyBatis
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集。MyBatis 使用简单的 XML 或注解来配置和映射基本体,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
优点
1.基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML里,解除sql与程序代码的耦合,便于统一管理;提供XML标签,支持编写动态SQL语句,并可重用。
2.与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余的代码,不需要手动开关连接;
3.很好的与各种数据库兼容(因为MyBatis使用JDBC来连接数据库,所以只要JDBC支持的数据库MyBatis都支持。
4.能够与Spring很好的集成;
5.提供映射标签,支持对象与数据库的ORM字段关系映射;提供对象关系映射标签,支持对象关系
SSM整合
SSM框架搭建实现步骤
1.创建web项目
创建项目包结构
引入相关jar文件
pom.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>SSM01</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>SSM01 Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<spring.version>5.2.3.RELEASE</spring.version>
</properties>
<dependencies>