从零开始Spring项目

Spring Boot是什么

SpringBoot是伴随着Spring4.0诞生的;

从字面理解,Boot是引导的意思,SpringBoot帮助开发者快速搭建Spring框架;

SpringBoot帮助开发者快速启动一个Web容器,它继承了原有Spring框架的优秀基因,简化了使用Spring的过程。

 

Spring由于其繁琐的配置,一度被人认为“配置地狱”,各种XML、Annotation配置,让人眼花缭乱,而且如果出错了也很难找出原因。

Spring Boot更多的是采用Java Config的方式,对Spring进行配置。

 因为Spring Boot是与Spring一脉相承的,所以对于广大的Java开发者而言,对于Spring的学习成本几乎为零。

在实践Spring Boot时学习重点,或者说思维方式改变的重点在于:

1)对于REST的理解,这一点尤为重要,需要从设计、开发多个角色达成共识,很多时候都是对于HTTP 1.1协议以及REST的精髓不理解,导致REST被「盲用」而产生一些不好的效果。

2)对于YAML的理解和对于JavaConfig的理解,这两点相对较为简单,本质上是简化了xml文件,并提供等价的配置表述能力。

(我还是太菜了,虽然做过一个SpringMVC的小项目练手,上面有些词听都没听说过)

 

开始一个Spring Boot项目

1、到intellij idea官网下载Ultimate版本的IDE,因为Community版本默认是没有Spring Initializr来初始化并配置运行Spring Boot的。

2、"New Project"->"Spring Initializr",Java jdk最好选择1.8版本,因为1.7的版本缺少一些关键内容,运行时可能会出错。

初始化的服务网址选择默认就可以。

点击"Next",配置项目基本信息,"Type"选择"Maven Project","Language"选择"Java",此处的"Java Version"应该与上一部的配置保持一致,选择"8"。

点击"Next",选择相关依赖库,勾选上"Web" "JPA" "MySQL" "JDBC"。

点击"Next",设置项目名称完成设置,一个Spring项目就建好了。

随后Idea会从Spring官网下载模板,并应用刚才的设置,初始目录结构如图所示。

项目结构还是看上去挺清爽的,少了很多配置文件,我们来了解一下默认生成的有什么:

  • DemoApplication: 一个带有 main() 方法的类,用于启动应用程序
  • DemoApplicationTests:一个空的 Junit 测试,它加载了一个使用 Spring Boot 字典配置功能的 Spring 应用程序上下文
  • application.properties:一个空的 properties 文件,可以根据需要添加配置属性
  • pom.xml: Maven 构建说明文件

我们还需要根据自己的需求建立一些类和文件夹,建议设置如下(其实刚开始根本用不了这么多类别):

代码层的结构

根目录:com.springboot

1.工程启动类(ApplicationServer.java)置于com.springboot.build包下

2.实体类(domain)置于com.springboot.domain

3.数据访问层(Dao)置于com.springboot.repository

4.数据服务层(Service)置于com,springboot.service,数据服务的实现接口(serviceImpl)至于com.springboot.service.impl

5.前端控制器(Controller)置于com.springboot.controller

6.工具类(utils)置于com.springboot.utils

7.常量接口类(constant)置于com.springboot.constant

8.配置信息类(config)置于com.springboot.config

9.数据传输类(vo)置于com.springboot.vo

资源文件的结构

根目录:src/main/resources

1.配置文件(.properties/.json等)置于config文件夹下

2.国际化(i18n))置于i18n文件夹下

3.spring.xml置于META-INF/spring文件夹下

4.页面以及js/css/image等置于static文件夹下的各自文件下

 我是在"src/main/java/根包"目录下新建了"Entity"(实体)"Service"(数据服务层与接口,偷个懒..)"Controller"(前端控制器)"Repository"(数据访问层)

"src/main/resources"目录下的"static"存放js/css/image等文件,"templates"存放html页面。

老规矩,先来跑一个Hello World再说。

在Controller下新建HelloController.java:

package com.example.demo.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "Hello World!";
    }
}

 (有一点忘了说,如果勾选了MySQL和JDBC,一定要在application.yml里面定义数据源和连接信息,否则你是跑不起来的)

然后浏览器访问localhos:8080/hello,perfect!

 

下一次再详细记录如何编写Spring Boot项目。

参考资料:

Spring boot 项目目录结构

Spring Boot浅谈(是什么/能干什么/优点和不足)

Spring Boot【快速入门】

 

posted @ 2018-07-03 11:45  朕蹲厕唱忐忑  阅读(251)  评论(0编辑  收藏  举报