1.SpringMVC
1.1 框架的作用
接收前端传递的数据,与用户进行交互。
1.2 SpringMVC参数传递的格式
1.2.1 简单的参数传值
<input type = "text" name ="username" value = "admin" />
<input type = "text" name ="age" value = "18" />
前提:servlet是一种参数传递的机制 要求:所有的参数类型都是String数据类型
说明:数据类型的转化是框架帮助完成的
public xxxx getUser(String username,Integer age){}
1.2.2 对象的方式接收参数
<input type = "text" name ="username" value = "admin" />
<input type = "text" name ="age" value = "18" />
要求:
- name属性的值与对象的属性必须保持一致
- 要求对象必须有set和get方法,对象的属性私有化
1.2.3 同名提交问题
<input type = "text" name ="username" value = "admin" />
<input type = "text" name ="username" value = "admin" />
<input type = "text" name ="username" value = "admin" />
问题:有时页面中会出现同名的提交问题,多个name的属性一样,但value不同,问:springMVC如何接收?
原理:当页面出现同名提交的情况时,会将这些值以“,”号进行拼接后以String数据类型返回
MVC参数接收:
public xxxx getUser(String[] hobby){
//hobby 按照,号拆分为数组 之后循环变量 取值操作......
}
...的本质 就是数组
public xxxx getUser(String... hobby){
//hobby 按照,号拆分为数组 之后循环变量 取值操作......
}
1.2.4 为对象的引用赋值
原则:SpringMVC中name的属性名称除非是同名提交,否则是不能重复的
实际需求:使用对象引用解决问题实际需求中的同名提交问题
<input name="name" type="text" value="二郎神"> user(name) 二郎神,啸天
<input name="dog.name" type="text" value="啸天"> dog(name) 二郎神,啸天
public class User{
private String name; //二郎神
private Dog dog; //dog对象
}
public class Dog{
private String name; //啸天
}
public xxxx getUser(User user){
}
1.2.5 restFul风格
get请求案例: http://localhost:8080/getUser?id=100
原理:
1.restFul使用 / 进行分隔,可以简化get的请求结构,简化key;
2.restFul的请求需是无状态的,不能出现动词 (例如:http://localhost:8080/user/100/tom)
1.2.6 restFul面试题
1.2.7 SpringMVC调用流程图(扩展)
2.项目环境的搭建
2.1 选择根目录
2.2 IDEA环境调试
2.2.1 安装lombok插件
2.2.2 控制字体大小/参数提示
2.2.3 开启编译
2.2.4 自动保存
2.3 maven配置
2.3.1 settings文件
2.3.1 IDEA配置
2.4 创建spring_boot项目
2.4.1 创建项目
2.4.2 选择jar包依赖
说明:修饰注解的注解,称为元注解
用法:
@Target(ElementType)注解修饰的类型
3.3.2 SpringBootConfiguration注解
说明:该注解标识了main方法的类,相当于飞速程序主启动类就是一个大的配置类,在主启动类执行时,会去扫描所有小的配置文件,自己的配置类由主动启动类负责执行,并且加载,统一将对象交给spring容器。
3.3.3 @ComponentScan
说明:SpringBoot启动时会加载很多启动项,但其中个别介入后,会使程序程序运行异常,
深入说明:jar包具有以来的传递性,
3.3.4 @Autoconfiguration
说明:该注解表示自动化的配置