zoukankan      html  css  js  c++  java
  • Spring Boot 学习心得

    Spring Boot 开发项目基本步骤,提醒大家,一定要有耐心去看Spring 官网的技术文档,每次阅读技术文档都会有不同的感受和收获。

    Spring Boot 学习地址:https://spring.io/projects/spring-boot

    在Spring 官网上可以下载一些小的Demo,在开发工具中做简单的配置就可以跑起来了,但是到底是如何实现的呢,对于新手来说,还是需要仔细研究一下源码的。

    开发工具:IDEA

    数据库:MySQL

    JDK: 1.8

    项目名称:demo

    Maven:3.39

    1,MySQL 数据库准备,要求本地 localhost 能访问到数据库表,对表的操作这里就不多说了,自行百度。

    2,IDEA 开发工具准备,自行下载安装。

    3,JDK 安装。

    4,Maven 安装。

    下面使用Spring Boot 开发一个Maven 项目。

     IDEA ->File>New->Project->Spring Assistant->Next->(自定义项目的信息)->Next->(选择:Spring Boot DevTools, Lombok, Spring Configuration Processor, Spriing Web, Spring Data JPA, MySQL Driver)Finish.

    配置数据库连接池信息:将src->main->resources->application.proporties 改成 application.yml 后缀名。内容为:

    spring:
    datasource:
    url: "jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=false"
    username: "root"
    password: "123456"
    jpa:
    open-in-view: false
    format-sql: true

     新建MainController.java,User.java,UserRepository.java,UserService.java,UserVo.java 

    UserRepository 接口继承了JpaRepository.JpaSpecificationExecutor 接口,实现分页查询,和封装查询条件,通过Spring-data-jpa 实现数据库操作。

     User.java 实体类,通过@Entity 注解,Hibernate 将实体类与数据库表实现映射,@Table 注解指定实体类对应的表,如何不指定,默认以类名与数据库表匹配。

     

     UserService.java 做业务逻辑处理,将从接口查询的数据做处理,注意:PageResult 是我自己定义的数据封装类,也可以用List<UserVo>返回。

     最后是MainController.java,做http 请求响应的类,

     启动DemoApplication.java 类,在浏览器输入:localhost:8080/demo/all 回车,就能看到 t_user 表中的数据。

    以上是一个快速简单的Spring boot 的一个demo,下面是学习Spring boot 实现原理的记录:

    第一、pom.xml文件解说

    首先我们看到项目的根目录下的pom.xml文件,

     pom.xml文件必须要加上这个 parent节点, spring-boot-parent是干什么的呢,我们点进去发现它什么也没做,而是向上继承了dependencies,

     我们再点击dependencies, 进去看到了很多信息,添加了很多Spring boot 开发中需要用的maven仓库的jar包及版本信息,包括一些插件的信息和版本号。回到项目的pom.xml文件中,

     看到我们这里的dependency 的内容,都是省略了版本号的,因为在parent 下的dependencies 中已经做了版本的管理,因而我们在这里就缩减了一些代码。这是Spring boot 的特性之一,我们也可以不通过依赖parent 和dependencies, 那我们就得一一指定jar包和版本号了,比较麻烦,我目前没有试过,感兴趣可以尝试一下。

    第二、SpringApplication解说

    我们看到项目的src/main/java包下的SpringBootAppliction.java 入口文件,也就是有main方法的文件。这个文件必须放在整个项目的最根目录,Spring 在扫描注解的时候扫描这个文件所在包下的所有class,如果其他类放在了高于这个类或其他目录下就会扫描不到。

  • 相关阅读:
    023 AQS--JUC的核心
    022 Future接口
    021 Callable接口
    020 线程的综合考虑
    019 线程协作
    命令,lldb,llvm,gdb,gcc,
    @class,import,
    arc,自动引用计数,
    写在哪里,
    40岁生日,
  • 原文地址:https://www.cnblogs.com/wonderful-day/p/11649693.html
Copyright © 2011-2022 走看看