本文共 3006 字,大约阅读时间需要 10 分钟。
前言:Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot 默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。它的核心设计思想是:约定优于配置,Spring Boot 所有开发细节都是依据此思想进行实现的。
约定优于配置(Convention Over Configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量、获得简单的好处,而又不失灵活性。
在 Spring 体系中,Spring Boot JPA 就是约定优于配置最佳实现之一,不需要关注表结构,我们约定类名即是表名,属性名即是表的字段,String 对应 varchar,long 对应 bigint,只有需要一些特殊要求的属性,我们再单独进行配置,按照这个约定我们可以将以前的工作大大简化。
Spring Boot Starters基于约定优于配置的理念来设计,Spring Boot Starter 中有两个核心组件:自动配置代码和提供自动配置模块及其它有用的依赖。也就意味着当我们项目中引入某个 Starter,即拥有了此软件的默认使用能力,除非我们需要特定的配置,一般情况下我仅需要少量的配置或者不配置即可使用组件对应的功能。
完整的 Starter 参考这里:。
正是由于 Spring IoC 和 Spring Aop 两个强大的功能才有了 Spring,Spring 生态不断的发展才有了 Spring Boot,使用 Spring Boot 让 Spring 更易用更有生命力,Spring Cloud 是基于 Spring Boot 开发的一套微服务架构下的服务治理方案。
Spring Boot 2.0 要求 Java 8 作为最低版本.
我们有两种方式来构建 Spring Boot 项目基础框架,第一种是使用 Spring 官方提供的构建页面;第二种是使用 IntelliJ IDEA 中的 Spring 插件来创建。
访问 网址。
选择构建工具 Maven Project,编程语言选择 Java、Spring Boot 版本 2.0.5 以及一些工程基本信息,具体可参考下图。Spring Boot 建议的目录结构如下。
com.example.myproject 目录下:
myproject +-src +- main +- java +- com.example.myproject +- comm +- model +- repository +- service +- web +- Application.java +- resources +- static +- templates +- application.properties +- test +-pom.xml
com.example.myproject 目录下:
Application.java,建议放到根目录下面,是项目的启动类, Spring Boot 项目只能有一个 main() 方法;
comm 目录建议放置公共的类,如全局的配置文件、工具类等;
model 目录主要用于实体(Entity)与数据访问层(Repository);
repository 层主要是数据库访问层代码;
service 层主要是业务类代码;
web 层负责页面访问控制。
resources 目录下:static 目录存放 web 访问的静态资源,如 js、css、图片等;
templates 目录存放页面模板;application.properties 存放项目的配置信息。
test 目录存放单元测试的代码;pom.xml 用于配置项目依赖包,以及其他配置。
jdk1.8+maven 3.1+springboot2.0.5
项目结构:
测试:
package com.snow.hello;@RunWith(SpringRunner.class)@SpringBootTestpublic class HelloApplicationTests { private MockMvc mockMvc; @Before public void setUp(){ mockMvc = MockMvcBuilders.standaloneSetup(new HelloController()).build(); } @Test public void contextLoads() throws Exception{ mockMvc.perform(MockMvcRequestBuilders.post("/hello?name=zhangsan") .accept(MediaType.APPLICATION_JSON_UTF8)).andDo(print()); }}
注:项目使用 Spring 官方提供页面构建,pom.xml是原始的配置;Application.java要置于根目录下.
整理自:[纯洁的微笑]