MacOS springboot入门学习

本文详细介绍了如何使用SpringBoot搭建项目环境,包括JDK、Maven和MySQL的配置。并通过实例演示了如何创建SpringBoot项目,配置端口、对接数据库以及基本的Controller操作,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开始:首先得有环境,JDK 1.8(springboot只有1.8以上的) maven(我用的IDEA自带有)Mysql数据库(版本正式版就行)。

打开IDEA 下面跟图:

点击:Create New Project  -> Spring Initializr ->点击Next

填入:

如同我的:

点击下一步:和我选的一样

选择自己的文件路径。(好了之后下一步,开始加载了,第一次有点慢,等等,下面是我加载好了的)

点击运行:下面是运行结果,打开浏览器。

这是运行结果(网址:localhost:8080就行)

如果要其显示内容:创建一个类如下->运行:

这是结果:

好了到此springboot的创建成功了。

下面这个是网址创建:https://start.spring.io/    方法一样

接下来学习配置:数据库的对接,端口的修改等等。

1.修改8080端口为8081,增加一个分类。->这时再次输入8080是没有用的。

结果还是一样:

配置文件的传值:如下:

   ->  

 

结果(网址刷新结果):

配置里面使用配置:

cartDesc="${smallCart}是一辆小车"

结果:

如果你的是乱码的话。我找了解决方法: application.properties 添加如下命令。如果还是不行的话。-》

spring.http.encoding.charset=UTF-8
spring.http.encoding.force=true
spring.http.encoding.enabled=true

》新建一个配置文件:application.yml

内容如下一样:

spring:
  http:
    encoding:
      charset: UTF-8
      force: true
      enabled: true

smallCart: small_cart

cartDesc: ${smallCart}是一辆小车
server:
  port: 8081
  servlet:
    context-path: /cart

换了一种方式,结果一样,但是乱码解决了。

如果配置参数过多,类的配置使用方法:这是配置文件:

cart:
  cartSize: small_cart
  cartName: 我是车
  cartDesc: 我是${cart.cartSize}

这是类:名称保持一致:

一定要加上下面的:再给予get和set方法。

@Component
@ConfigurationProperties(prefix = "cart")

这是应用:

    @Autowired

    private CartInfo cartInfo;

    @RequestMapping("test")
    public String say(){
        return "cartDesc:" + cartInfo.getCartDesc();
    }

这是结果:

好了到此 配置中单值传递和类传递完成了。

接下来 说下Controller的配置及其使用。给图:

1.@Controller的使用。单如下使用,是不可以返回值的,只会有:

如果想返回值:需要如下配置:

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>

这是会有一个templates文件,在下面创建一个index.html文件输入值:你随意。

使用方法:

刷新下:

可以了。现在都是前后端分离,这种方法用的少,注释掉刚刚添加的(重新导入下maven)。下面这种也行:

 

 

    @Controller
    @ResponseBody 


//上面这两种等同于://@RestController
    @GetMapping
    @PostMapping


等同于:
@RequestMapping(value = "/test" ,method = RequestMethod.GET)

获取页面传回来的值。

    @GetMapping("/test/{id}")
    public String say(@PathVariable("id") Integer id){
//        return "cartDesc:" + cartInfo.getCartDesc();
//        return "index";
        return "id:" + id;
    }

支持:

http://localhost:8081/cart/test/2

如果是这种方式:

  @RequestMapping(value = "/test" ,method = RequestMethod.GET)
    @GetMapping("/test/{id}")
    public String say(@RequestParam("id") Integer id){
//        return "cartDesc:" + cartInfo.getCartDesc();
//        return "index";
        return "id:" + id;
    }

支持:

http://localhost:8081/cart/test?id=100

接下来关于对接mysql了哦:需要加上下面配置:

	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-data-jpa</artifactId>
	</dependency>

配置文件内容:(show-sql:true显示sql语句,ddl-auto: update下面会讲)

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/cart?characterEncoding=utf-8
    username: root
    password: root
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

开始以类建表:首先你得在数据库新建一个存在的数据库。

 

报红,以及找不到没关系,如下方法,加载完成之后,会好,

启动之后如下图:

打开数据库:我的是:Navcat连接mysql,点击会看到相应字段。记住springboot通过jpa管理数据的不能自己添加数据,

如果添加了话记得删除,不然添加数据时会报错。

这时   ddl-auto: update  很重要,可以使你每一次启动都不还原数据库内容。而是在下面添加。

下面关于SQL语句的使用:

创建一个接口继承  JpaRepository

public interface CartRepository extends JpaRepository<Cart,Integer> {

}

下面是使用方法:

package com.imooc;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Optional;

/**
 * Created by caolonglong on 2019/5/15.
 */
@RestController
@RequestMapping("/test")
public class CartController {
    @Autowired
    private CartRepository cartRepository;

    /**
     * 查找数据库内容
     * @return
     */
    @GetMapping("list")
    public List<Cart> cartList(){
        return cartRepository.findAll();
    }

    /**
     * 创建数据
     */
    @GetMapping("create")
    public Cart create(@RequestParam("cartName") String cartName,
                       @RequestParam("cartSize") String cartSize,
                       @RequestParam("cartDesc") String cartDesc){
        Cart cart = new Cart();
        cart.setCartDesc(cartDesc);
        cart.setCartName(cartName);
        cart.setCartSize(cartSize);
        return cartRepository.save(cart);
    }
    /**
     * select by cartId
     */
    @PutMapping("find_by_id")
    public Cart findById(@RequestParam("cartId") Integer cartId){
        return cartRepository.findById(cartId).orElse(null);
    }
    /**
     * update by primary key
     */

    public Cart update(@RequestParam("cartId") Integer cartId,
                       @RequestParam("cartName") String cartName,
                       @RequestParam("cartSize") String cartSize
                      ){
        Optional<Cart> optional = cartRepository.findById(cartId);
        if (optional.isPresent()){
            Cart cart = optional.get();
            cart.setCartId(cartId);
            cart.setCartSize(cartSize);
            cart.setCartName(cartName);
            return cartRepository.save(cart);
        }
        return null;
    }
}

下面添加其中一个结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值