Class seven 2022.7.12上午
知识回顾
1.maven生命周期:
2.父子工程或聚合
- 父工程不是war,也不是jar,是pom。
- 通过modeles表现多个子工程。
- 用表示GAV是谁。
- 调用关系:controller->service->Dao
3.为什么有MVC模式?
- KFC(肯德基):前台有专门的接待,中间层有送餐的,后端还有专门加工餐食的。方便复制和扩展!
- MVC模式也将软件分为三层:视图层处理用户请求,控制层处理业务,数据层处理数据。
新知识
一、xml相关知识
1.怎么创建一个对象?
- new 简单明了,扩展性很差,不适合大规模改动。
- Factory(工厂模式) 用一个方法代替new,可扩展性较好。
- 容器(Spring) 控制对象的生命周期。
★Spring的核心:容器
//想调用100次user
//在bean中创建userFactory
public class UserFactory{
public static User createUser(){
return new Student();
}
}
2.IOC
- 数据库实现是最先调用的。
- 工厂不行,可以靠容器。
- 子项目和父项目都会用到一些依赖,就把这些依赖加到父项目的pom.xml
- 配置文件名:applicationContext.xml(经典配置文件),.xml已经过时,现在主要用注解;但是经典配置文件的作用还是要了解。
3.对象创建的几种方式:
- 无参构造函数(默认)
- 有参数构造函数
- 静态工厂模式
- 非静态工厂模式
二、注入
1.(1)set方法注入
- 基本类型值注入使用value
(2)
- 对象之间相互注入
2.使用注解 ★★★ - 注解扫描器:对当前注解所在的包进行扫描
- 类上面直接加注解@Competent等价于xml的。
- Dao层bean,加注解:@Reponsitory
- Service层,加注解:@Service
- Controller层,加注解:@Controller
- 注解里面最重要的注解:@Autowired自动装配,代替new。
- @Autowired也是桥梁
- @PostConstruct 初始化方法
- @PreDestroy 销毁方法
三、测试
1.JUnit(单元测试)
- 有版本区分:3、4、5;4、5的注解为@Test
-
3没注解。基本不用。
-
4有注解,同包。常用这个。
-
5有注解,模块化,报名变化非常大。和springboot2.3以后版本整合的时候用5。
-
2022.7.12下午
1.@RequestMapping
- 注解加在类上: 给模块添加根路径;加载方法: 方法具体的路径。
- @RequestMapping的value属性主要指定的是方法被访问的具体路径。
2.@RequestParam表单参数处理
- 请求参数名和接受参数名不一样要转义。
- 如果参数名和name值相同,无需使用@RequestParam注解。
3.转发: forward 重定向:redirect
- 重定向解决项目的重复提交。
4.后端向前端传数据有三种方法:
1)ModelAndView 直接使用el表达式。
2)Map map参数, 往map中放置数据,就可以发送到jsp页面。
3)Model 将map替换成model即可。
5. RESTful风格:GET(得到) DELETE:(删除) PUT(更新) POST (新增)
6.JSON★★★
- 四个符号
- {} 大括号表示对象
- [] 中括号表示数组
- : 冒号 k--v的分隔符
- , 逗号表示属性之间的分隔符