Class seven

116 阅读3分钟

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)   控制对象的生命周期。 image.png ★Spring的核心:容器
    //想调用100次user
    //在bean中创建userFactory
    public class UserFactory{
    public static User createUser(){
        return new Student();
        }
    }

2.IOC

image.png

  • 数据库实现是最先调用的。
  • 工厂不行,可以靠容器。
  • 子项目和父项目都会用到一些依赖,就把这些依赖加到父项目的pom.xml
  • 配置文件名:applicationContext.xml(经典配置文件),.xml已经过时,现在主要用注解;但是经典配置文件的作用还是要了解。

3.对象创建的几种方式:

  • 无参构造函数(默认)
  • 有参数构造函数
  • 静态工厂模式
  • 非静态工厂模式

二、注入
1.(1)set方法注入

  • 基本类型值注入使用value image.png (2)
  • 对象之间相互注入 image.png
    2.使用注解 ★★★
  • 注解扫描器:对当前注解所在的包进行扫描 image.png
  • 类上面直接加注解@Competent等价于xml的。
  • Dao层bean,加注解:@Reponsitory
  • Service层,加注解:@Service
  • Controller层,加注解:@Controller
    image.png
  • 注解里面最重要的注解:@Autowired自动装配,代替new。
  • @Autowired也是桥梁 image.png
  • @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的分隔符
    • ,    逗号表示属性之间的分隔符