Spring Boot 入门

2 篇文章 0 订阅
spring boot 是当下比较流行得一个技术,它得出现简化了很多spring工程得配置文件,使得开发更便捷,而且它还集成了很多其他得常用框架,微服务项目大多数都应用spring boot搭建工程。本文将搭建一个简易得sping boot 项目,可以实现对数据库得基本得增删改查得功能。

第一步:初始化工程,构建工具maven

网站链接:http://start.spring.io/

打开上述网站链接,这个是官网得项目构建网站


选项设置如下图所示

点击按钮下载工程文件,下载完毕导入到开发工具(我用得IDEA),导入完毕,初始化工程,下载jar包,控制台执行命令,mvn clean install,不报错的话,就初始化完成了。

第二步:hello world

在pom文件下加入

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>RELEASE</version>
</dependency>

初始化工程目录下新建controller包,在包里面新建HelloController类,代码如下

@Controller
public class HelloController {
   @RequestMapping(value = "hello/{id}",method = RequestMethod.GET)
   @ResponseBody
    public Map<String,Object> helloWord(@PathVariable(value = "id") Integer id){
        return "hello "+id;
    }
}

运行DemoApplication中的main函数,打开浏览器,输入http://localhost:8080/hello/1

第三步,集成swagger

swagger 是用来生产API文档的,在现在开发模式中,前后端分离的开发模式,逐渐变成了主流趋势,前台负责页面和数据渲染,后台负责业务逻辑处理和提供相关数据,前后台交互就是通过接口文档进行的,一个好的接口说明文档可以降低交易成本,增加开发效率。

引入所需jar包

<dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.2.2</version>
</dependency>
<dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.2.2</version>
</dependency>

在DemoApplication类的同级目录下新建Swagger2类,代码如下

@Configuration
@EnableSwagger2
public class Swagger2 {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.h52mm.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot Demo API 文档")
                .description("我的个人博客:https://blog.csdn.net/qq_29086535")
                .termsOfServiceUrl("https://blog.csdn.net/qq_29086535")
                .contact("程序猿 黑傻傻")
                .version("1.0")
                .build();
    }
}

在接口类上采用注解对类、方法、参数等进行描述

 @Api 作用于类上对类进行说明

 @ApiOperation 作用于方法上,对方法进行描述

 @ApiParam   作用于参数上,对参数进行描述

  还有其他注解,百度一下你就知道了

 

第三步 集成spring data jpa

spring data jpa 是spring boot推荐使用的orm框架,它是基于hibernate开发的,它提供了基本的增删改查的功能,可以实现很少的配置就能够实现对数据库的基本操作,明显加快了开发效率。

引入jar包

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

在application.properties配置文件中加入

server.port=8081 #项目启动端口号配置
debug=true  #开启debug日志
spring.output.ansi.enabled=DETECT #日志
spring.datasource.url=jdbc:mysql://localhost:3306/shop #数据库链接
spring.datasource.username=root #数据库登录用户
spring.datasource.password=123456  #数据库密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver #数据库驱动
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl 

新建实体类(和数据库表相对应)

package com.h52mm.demo.domain;
import javax.persistence.*;
import java.util.Date;
@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer userId;

    @Column(name = "password")
    private String pwd;

    @Column(name = "username")
    private  String userName;
    private  String email;

    @Column(nullable = true,name = "telephone")
    private String tel;

    @Column(name = "regTime")
    private Date regTime;

    @Column(name = "del")
    private Boolean del;


    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public Date getRegTime() {
        return regTime;
    }

    public void setRegTime(Date regTime) {
        this.regTime = regTime;
    }

    public Boolean getDel() {
        return del;
    }

    public void setDel(Boolean del) {
        this.del = del;
    }
}

新建Repository类并继承 JpaRepository

package com.h52mm.demo.domain;

import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface UserRepository extends JpaRepository<User,Integer>{
    public List<User> findAllByDel(Boolean del);
}

调用  spring data jpa 提供了最基本的对数据库的操作,包括save()、findAll()等

  @Override
    public  List<User> getUserAll() {
        List<User> list=userRepository.findAllByDel(false);
        return list;
    }

    @Override
    public List<User> saveUser(User user) {
        userRepository.save(user);
        return userRepository.findAll();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值