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 条评论
登录 后参与评论

相关文章

来自专栏aCloudDeveloper

UNIX环境高级编程笔记之线程

  本章涉及到线程的一些基本知识点,讨论了现有的创建线程和销毁线程的POSIX.1原语,此外,重点介绍了线程同步问题,讨论了三种基本的同步机制:互斥量、读写锁、...

2626
来自专栏LeoXu的博客

NDK学习笔记(一) 原

以Windows环境为例,以下工具在使用NDK开发Android应用程序时都会要用到:

952
来自专栏程序猿DD

Spring Cloud构建微服务架构:分布式配置中心【Dalston版】

前言 Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,...

2168
来自专栏桥路_大数据

React Natived打包报错java.io.IOException: Could not delete path '...\android\support\v7'解决

4309
来自专栏抠抠空间

浅谈virtualenv(虚拟环境)

1833
来自专栏蓝天

StarUML 5.0问题解决:Failed to open the model file. Invalid file format.

使用StarUML 5.0打开一个已有的文件时,如果遇到报“Failed to open the model file. Invalid file format...

961
来自专栏企鹅号快讯

OS命令注入详解

关于OS命令执行漏洞我相信各位并不陌生,那今天我也就在这里分享一些OS命令注入的经验与技巧。 OS命令执行漏洞介绍: 原理: 应用程序有时需要调用一些执行系统命...

9019
来自专栏帘卷西风的专栏

CentOS yum安装或者升级GCC到4.8

之前一直没怎么用C++11,最近的项目都开始使用,但是Centos使用yum工具安装GCC的版本是4.4.7,因此需要升级才行。

2162
来自专栏刺客博客

Linux下升级python2.7到python3.5

这里显示的Python版本是2.7,而不是刚下载的3.5。这是因为python被软连接到python2.7了。可以在/usr/bin下查看python link...

2152
来自专栏龙首琴剑庐

win7 + manjaro linux 双系统安装

这里统一采用efi引导,因此windows系统必须win7 64 或更新系统。 1、在别的电脑选择一个PE系统写入U盘,比如大白菜,真的大白菜。 2、PE系统中...

91311

扫码关注云+社区

领取腾讯云代金券