专栏首页文大师的新世界1. spring-boot框架初始

1. spring-boot框架初始

spring-boot是spring系列下的致力于帮助开发者快速方便搭建项目的工具,并且便于运行部署,特别适用于微服务架构搭建。

本来想从零开始,但是发现简书已有很多文章,在这里就不赘述了,查看spring-boot专题了解更多内容。

首先说一下使用spring-boot开始项目的一些注意事项(针对新手):

  • 为了方便,请抛弃配置XML,真的很冗杂
  • 全面支持annotation注解和java config
  • spring-boot提供的一系列starter开始你的项目
  • spring-boot只是帮你更好的开始一个项目,而不是一个应用框架
  • 请使用IDEA开发

为了不与其他文章过于相似,此系列文章一律采用gradle作为构建工具,gradle参考官网介绍,对于maven项目,gradle init可以一键转化为gradle项目(肯定需要修改)。


开始一个web项目

新建文件夹bootmkdir boot,在boot根目录执行gradle init --type java-library,修改build.gradle添加依赖compile 'org.springframework.boot:spring-boot-starter-web',新建Application.java

@SpringBootApplication
public class Application {
    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }
}

写一个简单的controller

@Controller
public class PublicController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }
}

boot几乎所有配置都在application.properties里,新建src/main/resources/application.properties,修改端口号server.port=8090,命令行启动gradle bootRun查看http://localhost:8090Hello World!。 添加其他功能只需要添加对应的starter然后配置即可,比如通常会用到的一些starter

'org.springframework.boot:spring-boot-starter-web' // web项目
'org.springframework.boot:spring-boot-starter-data-jpa'  // JPA对应DAO
'org.springframework.boot:spring-boot-starter-security' // 权限管理
'org.springframework.boot:spring-boot-starter-thymeleaf' // view层,替代JSP
'org.springframework.boot:spring-boot-devtools' // 开发工具,热加载

最后说一下目录结构,一般而言是这样:

|-- build.gradle
|-- src
|----|-- main
|---------|-- java
|--------------|-- com.project
|---------------------|-- controller
|---------------------|-- service
|---------------------|-- repository
|---------------------|-- entity
|---------|-- resources
|--------------|-- application.properties
|--------------|-- application-dev.properties
|--------------|-- application-pro.properties

我推荐这样:

|-- build.gradle
|-- src
|----|-- main
|---------|-- java
|--------------|-- com.project
|---------------------|-- user
|--------------------------|-- controller
|--------------------------|-- service
|--------------------------|-- repository
|--------------------------|-- entity
|---------|-- resources
|--------------|-- application.properties
|--------------|-- application-dev.properties
|--------------|-- application-pro.properties

按组件区分,易查看代码,当项目成长到一定程度更加容易拆分。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2. spring-boot+thymeleaf(+vuejs)

    目前没有发现类似nodejs里面init功能的关于spring-boot的工具,推荐还是去github上面clone一个吧,方便快捷,也可使用start生成,贡...

    MasterVin
  • 7. 偷用Swiper简改

    看这段代码应该就很清楚了,如果是android系统就渲染Pager如果是ios就使用横向的ScrollView,修改后的app首页如下:

    MasterVin
  • 4. spring-security-oauth2 server

    主要就加了@EnableAuthorizationServer注解告诉spring启动Server模式,github登录跟上篇文章的代码一样,就是封装了一下,因...

    MasterVin
  • spring-boot 速成(1) helloworld

    一、mac上安装 $ brew tap pivotal/tap $ brew install springboot 安装成功后,可在终端查看命令行 ➜  ~ s...

    菩提树下的杨过
  • spring-boot 速成(1) helloworld

    一、mac上安装 $ brew tap pivotal/tap $ brew install springboot 安装成功后,可在终端查看命令行 ➜  ~ s...

    菩提树下的杨过
  • Spring Boot入门教程3-1、使用Spring Boot+Freemarker模板引擎开发Web应用

    在最早的Java Web应用中,最为广泛使用的就是JSP,但是JSP已经是陈旧的技术了,ken.io觉得JSP主要有三个问题: 1、视图代码不能与Java代码完...

    KenTalk
  • Spring Boot从零入门7_最新配置文件配置及优先级详细介绍

    本文属于原创,转载注明出处,欢迎关注微信小程序小白AI博客 微信公众号小白AI或者网站 https://xiaobaiai.net 或者我的CSDN http:...

    别打名名
  • 业界 | 除了R、Python,还有这些重要的数据科学工具

    在你向一些大神请教的时候,他可能也会推荐你学习这两个高级编程语言,然后顺便在推荐你了解一下SQL以及Math。如果讲究点的,可能还会传授你一些Spark、AWS...

    CDA数据分析师
  • 业界 | 除了R、Python,还有这些重要的数据科学工具

    在你向一些大神请教的时候,他可能也会推荐你学习这两个高级编程语言,然后顺便在推荐你了解一下SQL以及Math。如果讲究点的,可能还会传授你一些Spark、AWS...

    大数据文摘
  • LeCun自曝使用C语言23年之久,2年前才上手Python,还曾短暂尝试Lua

    而上手AI时代最火的语言——Python——则要到2018年,那时候LeCun开始担任Facebook首席AI科学家。

    量子位

扫码关注云+社区

领取腾讯云代金券