SpringBoot 极速开发 (一)

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

目标,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 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
  • Spring

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

    944 引用 • 1459 回帖 • 17 关注
  • IDEA

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

    180 引用 • 400 回帖

相关帖子

欢迎来到这里!

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

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

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

  • zjhch123

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