SSM框架

1.SSM框架是什么

SSM框架包含三大框架,Spring,SpringMVC和MyBatis

Spring

什么是Spring
Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。
Spring为不同的层都提供的企业级解决方案:
web层:spring mvc
service层:spring
dao层:JDBCTemplate
Spring的核心思想是IoC(控制反转)和AOP(面向切面编程)

IOC:控制反转,就是将创建(管理,销毁)对象的权利,由程序交给Spring容器管理,降低了代码的耦合
AOP面向切面编程,就是在不修改原有代码的基础上,把新代码插入到原有代码的执行中

为什么要用spring
1.方便解耦,简化开发 (高内聚低耦合)
Spring就是一个大工厂(容器),用于创建对象(bean)和维护对象间的依赖关系。
2.AOP编程的支持
Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能.
声明式事务的支持 ,只需要通过配置就可以完成对事务的管理,而无需手动编程
3.方便程序的测试
Spring对Junit4支持,可以通过注解方便的测试Spring程序
4.方便集成各种优秀框架
Spring支持各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)
5.降低JavaEE API的使用难度
Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail等),都提供了封装,使这些API应用难度大大降低.

Spring和SpringBoot中的扫描机制
1.Spring组件扫描:
在spring的配置类中使用@ComponentScan(basePackages = “com.czxy”)可以扫描com.czxy包以及子包下添加了指定注解的类。
常见的注解有: @Component、@Service、@Controller、@Repository
2.SpringBoot扫描机制
1)默认扫描规则,SpringBoot中会自动扫描启动类所在包及其子包中的所有添加了指定注解类
2)使用@ComponentScan注解可以覆盖默认扫描规则。

SpringMVC

MVC
MVC设计模式: Model-View-Controller简写。
MVC是软件工程中的一种软件架构模式,它是一种分离业务逻辑与显示界面的设计方法。它把软件系统分 为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
控制器Controller:对请求进行处理,负责选择视图;
视图View:用户与程序交互的界面;
模型Model:用于业务处理

SpringMVC执行流程图
在这里插入图片描述

SpringMVC和Spring的常用注解
**1.Spring相关注解
1.1)声明bean的注解
@Component 通用注解,用于声明bean。可以配置任意组件。
@Repository 派生注解,与@Component等效,Dao实现类推荐使用的注解,不仅可以声明bean,而且提高可读性。
@Service 派生注解,与@Component等效,Service实现类推荐使用的注解,不仅可以声明bean,而且提高可读性。
@Controller 派生注解,与@Component等效,Controller实现类推荐使用的注解,不仅可以声明bean,而且提高可读性。

				1.2)bean注入的相关注解
				@Autowired:按类型注入,
				@Resource(name=""):按名称注入
				@Resource():先按名称注入,如果没有再按照类型。
				
				1.3)配置类相关注解
				@Bean 注解在方法上,声明当前方法的返回值为一个bean。
				@Configuration 声明当前类为配置类,内部常使用@Bean进行详细配置。取代了xml文件配置。
				@ComponentScan 用于对Component进行扫描,可以配置扫描的包路径
				
				1.4)@Value注解:为属性注入简单值
				
				2.SpringMVC相关注解
				@RequestMapping 修饰方法,将请求路径映射到Controller对应的处理方法上。
				                              修饰类,给请求路径添加访问前缀(二级路径)
				@ResponseBody 将返回值转换成json数据,并响应给浏览器。
				@RequestBody 将json格式的请求参数,封装到指定的JavaBean中。
				@PathVariable 用于接收路径参数,比如@RequestMapping(“/hello/{name}”)申明的路径,参数前使用注解@PathVariable("name"),就可以获取name对应的值。
				@RestController 该注解为一个组合注解,相当于@Controller和@ResponseBody的组合,注解在类上,意味着,该Controller的所有方法都响应JSON格式数据。**

Mybatis

什么是Mybatis
mybatis是一个持久层ORM框架。它内部封装了jdbc,使得开发更简洁,更高效。
Mybatis使开发者只需要关注sql语句本身,简化JDBC操作,不需要在关注加载驱动、创建连接、处理SQL语句等繁杂的过程。
MyBatis可以通过xml或注解完成ORM映射关系配置。

MyBatis的两种配置方式?
注解,XML
Mybatis中#{}和${}的区别是什么?
#{}实现的是sql语句的预处理参数,使用时不需要关注数据类型,Mybatis自动实现数据类型的转换,最重要的就是可以防止SQL注入;
${}实现的是sql语句的直接拼接,不做数据类型转换,需要自行判断数据类型,不能防止SQL注入

2.SSM框架搭建

简述

SSM框架:
Dao、service、控制器、异常处理器、拦截器
Mybatis Spring 、 SpringMVC
Spring:管理对象创建和销毁
面向切面编程
事务管理
SpringMVC:web层
MyBatis:dao层

创建maven-webapp项目
在这里插入图片描述
①导入pom.xml 修改项目名

|<?xml version="1.0" encoding="UTF-8"?>


4.0.0

com.review
spring_1
1.0-SNAPSHOT
war

spring_1 Maven Webapp

http://www.example.com

spring_1 org.apache.maven.plugins maven-compiler-plugin 3.3 1.8 1.8 UTF-8 true org.apache.tomcat.maven tomcat7-maven-plugin 2.1 8080 tomcat7 maven-clean-plugin 3.1.0 maven-resources-plugin 3.0.2 maven-compiler-plugin 3.8.0 maven-surefire-plugin 2.22.1 maven-war-plugin 3.2.2 maven-install-plugin 2.5.2 maven-deploy-plugin 2.8.2 src/main/java **/*.xml src/main/resources | | |--|--| | | |

在这里插入图片描述
②向web-inf导入web.xml

|<?xml version="1.0" encoding="UTF-8"?>

在这里插入图片描述
③创建java和resources
在这里插入图片描述
④检查pom.xml中配置文件目录的名字是否和 resources目录同名
在这里插入图片描述
⑤配置tomcat
导入配置文件
在这里插入图片描述
把propertes文件导入到resources目录,并进行修改(db.properties)
在这里插入图片描述
创建package包
在这里插入图片描述
2.2.7向webapp导入项目原型
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值