、概述

二、HTTP请求协议


三、HTTP响应协议



四、请求数据
1.简单实体参数




@RequestMapping("/simpleParam")
public String simpleParam(@RequestParam(name ="name" ,required = false ) String username, Integer age){
System.out.println (username +":"+age);
2.实体参数


@RequestMapping("/simplePojo")
public String simplePojo(User user){
System.out.println ( user );
3.数组参数

@RequestMapping("/arrayParam")
public String arrayParam(String [] hobby){
System.out.println ( Arrays.toString ( hobby ) );
4.集合参数


@RequestMapping("/listParam")
public String listParam(@RequestParam List hobby){
System.out.println ( hobby );
5.日期参数

@RequestMapping("/dateParam")
public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")LocalDateTime updateTime){
System.out.println (updateTime);
6.Json参数

@RequestMapping("/jsonParam")
public String jsonParam(@RequestBody User user){
System.out.println (user);
7.路径参数

@RequestMapping("/path/{id}")
public String pathParam(@PathVariable Integer id){
@RequestMapping("/path/{id}/{name}")
public String pathParams(@PathVariable Integer id,@PathVariable String name){

五、响应数据

package com.itheima.controller;
import com.itheima.pojo.Address;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
public class ResponseController {
System.out.println ("Hello World ~");
@RequestMapping("/getAddr")
public Address getAddr(){
Address addr=new Address ();
addr.setProvince ( "广东" );
@RequestMapping("/listAddr")
List
list =new ArrayList<> (); Address addr=new Address ();
addr.setProvince ( "广东" );
Address addr2=new Address ();
addr2.setProvince ( "陕西" );

package com.itheima.pojo;
public Result(Integer code, String msg, Object data) {
public Integer getCode() {
public void setCode(Integer code) {
public void setMsg(String msg) {
public Object getData() {
public void setData(Object data) {
public static Result success(Object data){
return new Result(1, "success", data);
public static Result success(){
return new Result(1, "success", null);
public static Result error(String msg){
return new Result(0, msg, null);
public String toString() {
import com.itheima.pojo.Address;
import com.itheima.pojo.Result;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
public class ResponseController {
System.out.println ("Hello World ~");
return Result.success ("hello world");
@RequestMapping("/getAddr")
Address addr=new Address ();
addr.setProvince ( "广东" );
return Result.success (addr);
@RequestMapping("/listAddr")
public Result listAddr(){
List
list =new ArrayList<> (); Address addr=new Address ();
addr.setProvince ( "广东" );
Address addr2=new Address ();
addr2.setProvince ( "陕西" );
return Result.success (list);

六、请求响应---响应案例

import com.itheima.pojo.Emp;
import com.itheima.pojo.Result;
import com.itheima.utils.XmlParserUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
public class EmpController {
@RequestMapping("/listEmp")
String file=this.getClass ().getClassLoader ().getResource ( "emp.xml" ).getFile ();
System.out.println ( file );
List empList = XmlParserUtils.parse ( file, Emp.class );
empList.stream ().forEach (emp -> {
String gender = emp.getGender ();
if ("1".equals (gender)){
}else if("2".equals (gender)){
String job = emp.getJob ();
}else if ("2".equals ( "gender" )){
}else if ("3".equals ( job )){
return Result.success (empList);

七、三层架构




八、分层解耦

九、IOC&DI案例



十、IOC详解



十一、DI详解
1.primary 为bean 设置优先级
2.Quakifier 指定注入的bean
3.Resource 用名字注入 AutoWired默认按照类型注入

