Spring 练习(后端)

本文详细介绍了如何使用Spring Boot进行后端开发,从启动类的配置到项目的实际操作,全面解析Spring Boot的核心特性和实战技巧,帮助开发者快速掌握Spring Boot的使用。
摘要由CSDN通过智能技术生成
package cn.tedu.hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication  //springboot 提供的,表示自己是一个启动类,用来启动服务器
public class RunApp {
    public static void main(String[] args) {
        //启动指定类
        SpringApplication.run(RunApp.class,"1");
    }
}

 

 

package cn.tedu.hello;
//练习4:http://localhost:8080/car/save2?
//                      id=1&color=red&price=100&pinpai=BMW&type=X7
public class Car {
    private Integer id;
    private String color;
    private Double price;
    private String pinpai;
    private String type;
    //set get toString  右键 -> generate

    public void setId(Integer id) { this.id = id; }

    public void setColor(String color) { this.color = color; }

    public void setPrice(Double price) { this.price = price; }

    public void setPinpai(String pinpai) { this.pinpai = pinpai; }

    public void setType(String type) { this.type = type; }

    public Integer getId() { return id; }

    public String getColor() { return color; }

    public Double getPrice() { return price; }

    public String getPinpai() { return pinpai; }

    public String getType() { return type; }

    @Override
    public String toString() {
        return "Car{" +
                "id=" + id +
                ", color='" + color + '\'' +
                ", price=" + price +
                ", pinpai='" + pinpai + '\'' +
                ", type='" + type + '\'' +
                '}';
    }
}
package cn.tedu.hello;
//需求:http://localhost:8080/car/get

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 总结:
 * 1,StringMVC可以接受请求,顺便解析请求参数
 * 只要在方法的参数列表中声明就可以:public void add(int id,String name)
 * 2,为了避免400或则500的异常,最好把参数列表的参数类型改成引用类型
 * 改后:public void add(Integer id,String name)
 * 3,参数列表可以提供一个对象,框架可以解析参数,并且可以把参数直接给对象的属性赋值
 *      public void save(Car c)
 */
@RestController //是springmvc提供的,可以被浏览器访问
@RequestMapping("car")  //是springmvc提供的,规定了浏览器访问这个类的方式
public class CarController {
    //访问方式:http://localhost:8080/car/get
    @RequestMapping("get")
    public void get(){
        System.out.println("浏览器访问成功!~!!");
    }
        //springmvc解析get方式提交的数据
        //练习1:http://localhost:8080/car/add?id=10
        @RequestMapping("add")
        public void add(Integer id){
            //参数列表的写法:1,参数类型必须和请求的参数类型一致
            //2,参数名称必须和请求的参数名称一致
            System.out.println("浏览器成功访问add!!!" + id );
        }
        //练习2:http://localhost:8080/car/add2?id=10&name=jack
        @RequestMapping("add2")
        public void add(Integer id,String name){
            System.out.println("浏览器成功访问add!!!"+id+name );
        }
        //练习3:http://localhost:8080/car/save?id=1&color=red&price=100
        //HandlerMapping :处理器映射器,拿着地址栏的访问方式找到哪个类哪个方法
        //Map<String,Object>    {"/car/save",new CarController().save()}
        @RequestMapping("save")
        public void save(Integer id,String color,Double price){
            //基本类型的参数,访问时必须传参否则400 500 异常,
            //引用类型不传入参数也行就会用沉默值null
            //推荐使用引用类型,因为规避了异常的发生!!!
            System.out.println("浏览器成功访问save!!!"+id+color+price);
        }
    //练习4:http://localhost:8080/car/save2?id=1&color=red&price=100&pinpai=BMW&type=X7
    //框架的作用:1,解析了请求参数  2,把解析到的参数调用c.setXxx()设置值
    @RequestMapping("save2")
    public void save2(Car c){
        System.out.println("浏览器成功访问save!!!"+c);
        //浏览器成功访问save!!!Car{id=1, color='red', price=100.0, pinpai='BMW', type='X7'}
    }
}
package cn.tedu.hello;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

@RestController
@RequestMapping("car")
public class CarController2 {
    //1,解析浏览器发来的请求参数
    //http://localhost:8080/car/save3?
    //id=1&color=red&price=100&pinpai=BMW&type=X7
    @RequestMapping("save3")
    public Object save3(Car c) throws Exception {
        //TODO 把解析到的请求参数 getXxx()入库--jdbc
        //1,pom里加jdbc的坐标
        //2,在数据库里创建car表(提供id,color,price,pinpai,type字段)
        /* CREATE TABLE car(
               id INT PRIMARY KEY AUTO_INCREMENT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值