SpringBoot 极速开发 (一)

本贴最后更新于 2972 天前,其中的信息可能已经事过境迁

目标,springboot 项目,访问返回 Hello SpringBoot !

准备

  • 浏览器
  • jdk8
  • idea(自备 ide 技能均可)

新建项目

进入 Spring 官网
点击 【Start a new Spring Project】
直达
图片

推荐选择 grandle, 配置文件清爽不少

选择如下

图片

简单介绍

各个组件
Web: 集成 SpringMVC
Security:
JPA:
Actuator:
Thymeleaf:
Mysql:
Lombok:
HSQLDB:

SpringBoot 1.4.2 文档

Idea 导入

解压后到目录下改 build.gradle 中 elipse 为 idea,
这是因为我用的 idea, eclipse 的话应该不用改,不过我没试过。
然后直接在目录下执行

╰─$ ./gradlew idea

完成后便可以直接用 idea 打开了
图片

记得要 使用 import

图片

点击 Finish 完成,等 ok。。。

启动

运行 DaxueApplication.java

2017-01-05 09:01:27.132 WARN 53547 --- [ main] o.s.boot.SpringApplication : Error handling failed (Error creating bean with name 'delegatingApplicationListener' defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration': Initialization of bean failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'org.springframework.context.annotation.ConfigurationClassPostProcessor.importRegistry' available) 2017-01-05 09:01:27.138 ERROR 53547 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Cannot determine embedded database driver class for database type NONE Action: If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).

启动失败,问题是缺少数据库配置

**解决:**在 application.properties 里加数据库配置,自己在 MySQL 里新建一个数据库。
application.properties 中内容如下:

spring.datasource.url=jdbc:mysql://localhost:3306/daxue spring.datasource.username=root spring.datasource.password=123qwe # update 模式会自动建表,有改动后也会更新,不过不会删原来的东西 spring.jpa.properties.hibernate.hbm2ddl.auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect spring.jpa.properties.hibernate.connection.release_mode=auto

OK,启动完毕看结果

此时目录结构如下

╰─$ tree -a . ├── .gitignore ├── .gradle │   └── 2.13 │   └── taskArtifacts │   ├── cache.properties │   ├── cache.properties.lock │   ├── fileHashes.bin │   ├── fileSnapshots.bin │   └── taskArtifacts.bin ├── build.gradle ├── daxue.iml ├── daxue.ipr ├── daxue.iws ├── gradle │   └── wrapper │   ├── gradle-wrapper.jar │   └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src ├── main │   ├── java │   │   └── cn │   │   └── dxs2s │   │   ├── DaxueApplication.java │   │   ├── domain │   │   ├── service │   │   └── web │   │   └── IndexController.java │   └── resources │   ├── application.properties │   ├── static │   └── templates └── test └── java └── cn └── dxs2s └── DaxueApplicationTests.java

没有 MySQL ? 木有关系,这么办

图片
更改一下依赖再刷新即可
hslqdb 是一个内存数据库,一般用来测试用,在使用 JPA 的方式下可以无缝切换到 MySQL。
没有 MySQL 的环境可以暂时顶用一下。

再次启动

访问 http://localhost:8080
图片
SpringSecurity 的默认基本安全配置,密码请在启动的日志中自行寻找。

目标达成!

图片

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3194 引用 • 8214 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    945 引用 • 1460 回帖 • 2 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • yangyujiao via macOS

    最近好像都开始用这个了。

  • zjhch123 via macOS

    真的是极速开发…前两天还在知乎上和人讨论这个…