ssm框架学习的第一个小应用,做完之后的总结
学习视频为B站UP主狂神说
注:内容包含个人的某些理解,主要为帮助初学者理解,因而有不当之处希望大神不吝赐教👻👻👻
- controller层:控制器,接收前端,操作service层(表现层(Handler))
- dao层:接口+mapper,操作数据库 (持久层 mapper层、)
- pojo层:实体类(model、domain、bean)
- service层:接口、继承接口的类 控制dao层(服务层)
- View层:jsp前端页面
前端 --> controller --> service --> dao -->数据库
其中service层和dao层代码类似。
ssm controller层和dao层之间为什么会有service层?
为了解耦:
用DAO接口,那么持久层用Hibernate,还是用myBatis,还是 JDBC,随时可以替换,不用修改业务层Service类的代码。
依赖注入(DI)和自动装配:
依赖注入的本质就是装配,装配是依赖注入的具体行为。
https://blog.csdn.net/lwj_199011/article/details/51512873
java web 中的${pageContext.request.contextPath }是什么意思
优点: 它的作用是取出部署应用程序的名字,这样不管如何部署,所用的路径都是正确的
缺点:其他工具无法正确解析它
关于底层配置:
- applicationContext.xml
- database.properties
- mybatis-config.xml
- spring-dao.xml
- spring-mvc.xml
- spring-dao.xml
applicationContext.xml
spring 配置,整个所有配置
<import resource="spring-dao.xml"/>
<import resource="spring-service.xml"/>
<import resource="spring-mvc.xml"/>
database.properties
数据源
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=false&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=123456
mybatis-config.xml
mybatis配置
可以整合进spring-dao.config中
spring-dao.xml
配置dao层----操作数据库,可以整合mybatis.xml配置文件
<!-- 配置整合mybatis -->
<context:property-placeholder location="classpath:database.properties"/>
<!--数据库连接池
dbcp 半自动化操作 不能自动连接
c3p0 自动化操作(自动的加载配置文件 并且设置到对象里面)
-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 配置连接池属性 -->
<property name="driverClass" value="${jdbc.driver}"/>
<