11.10 应用启动类
我们在main函数中调用SpringApplication类的静态run方法,我们的SpringBootApplication主类代码如下:
package com.easy.kotlin.chapter11_kotlin_springboot
import com.easy.kotlin.chapter11_kotlin_springboot.dao.ArticleRepository
import com.easy.kotlin.chapter11_kotlin_springboot.entity.Article
import org.springframework.boot.CommandLineRunner
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.context.annotation.Bean
import java.util.*
@SpringBootApplication
class Chapter11KotlinSpringbootApplication {
@Bean
fun init(repository: ArticleRepository) = CommandLineRunner {
val article: Article = Article()
article.author = "Kotlin"
article.title = "极简Kotlin教程 ${Date()}"
article.content = "Easy Kotlin ${Date()}"
repository.save(article)
}
}
fun main(args: Array<String>) {
SpringApplication.run(Chapter11KotlinSpringbootApplication::class.java, *args)
}
这里我们主要关注的是@SpringBootApplication注解,它包括三个注解,简单说明如下表:
注解 | 功能说明 |
---|---|
@SpringBootConfiguration(它包括@Configuration) | 表示将该类作用springboot配置文件类。 |
@EnableAutoConfiguration | 表示SpringBoot程序启动时,启动Spring Boot默认的自动配置。 |
@ComponentScan | 表示程序启动时自动扫描当前包及子包下所有类。 |
11.10.1 启动运行
如果是在IDEA中运行,可以直接点击main函数运行,如下图所示:
如果想在命令行运行,直接在项目根目录下运行命令:
$ gradle bootRun
我们可以看到控制台的日志输出:
2017-07-18 17:42:53.689 INFO 21239 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8000 (http)
Hibernate: insert into article (author, content, deleted_date, gmt_created, gmt_modified, is_deleted, title, version) values (?, ?, ?, ?, ?, ?, ?, ?)
2017-07-18 17:42:53.974 INFO 21239 --- [ restartedMain] c.Chapter11KotlinSpringbootApplicationKt : Started Chapter11KotlinSpringbootApplicationKt in 16.183 seconds (JVM running for 17.663)
<==========---> 83% EXECUTING [1m 43s]
> :bootRun
我们在浏览器中直接访问: http://127.0.0.1:8000/listAllArticle , 可以看到类似如下输出:
[
{
"id": 1,
"version": 0,
"title": "极简Kotlin教程",
"content": "Easy Kotlin ",
"author": "Kotlin",
"gmtCreated": 1500306475000,
"gmtModified": 1500306475000,
"deletedDate": 1500306475000
},
{
"id": 2,
"version": 0,
"title": "极简Kotlin教程",
"content": "Easy Kotlin ",
"author": "Kotlin",
"gmtCreated": 1500306764000,
"gmtModified": 1500306764000,
"deletedDate": 1500306764000
}
]
至此,我们已经完成了一个简单的REST接口从数据库到后端的开发。
下面我们继续来写一个前端的文章列表页面。
当前内容版权归 JackChan1999 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 JackChan1999 .