实训随笔:从零开始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!";
    }
}

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

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

参考资料:

Spring boot 项目目录结构

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

Spring Boot【快速入门】

原文地址:https://www.cnblogs.com/BoqianLiu/p/9216808.html

时间: 2024-10-11 04:23:08

实训随笔:从零开始Spring项目的相关文章

从零开始--Spring项目整合(2)整合SpringMVC

1.pom.xml 定义版本 <properties> <spring.version>4.2.7.RELEASE</spring.version> <jackson.version>2.6.7</jackson.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> 2.pom.xml

在实训时做的项目出现的ajax json数据传送的问提

json数据在前后端数据交互的时候非常常见,但是大部分人对json都么有系统的学习过,所以就会出现一些很简单的问题却要非很大劲去解决. 在用json传递数据的时候属性必须用双引号括住,一般如果在进行字符串拼接的时候喜欢用单引号,但是在json中是错误的,使用单引号会造成 读不出来的问题. 如:错误的示范:string json="{'name':'Tom','age':12}";                     正确:string json="{\"name

实训随笔:EL表达式JSON应用

由于之前在学校写的jsp页面都是夹杂着java代码的,所以之前写了个jsp,满满的<%%>和java代码,老师说那样太不美观了啊!!!要全部用EL表达式替代了.本人还是太笨了,弄了一上午才把页面改回来,其实就一点点的工作量,主要是用json传值的,导致好多问题都在网上找不到解决方案,搜索能力有待提高啊. 首先要就是要导入包和设置之类的东西吧. <%@page isELIgnored="false"%> <%@ taglib prefix="c&q

实训随笔4:HTML初入门

1.<td>与<tr>标签 表格制作时,应该一行一行的画,即<tr>应该包含<td>标签,正确示例如下: <h3>测试数组初始化与操作</h3> <table id="carName" width="120px" border="100px"> <tr> <td>No</td> <td>1</td> &l

中智讯-开放式智慧教室实训系统建设方案

中智讯(武汉)科技有限公司开放式智慧教室实训系统建设方案 1   智慧教室项目开发背景1.1    互联互通的物联网技术 随着网络覆盖的普及,人们提出了一个问题,既然无处不在的网络能够成为人际间沟通的无所不能的工具,为什么我们不能将网络作为物体与物体沟通的工具,人与物体沟通的工具,乃至人与自然沟通的工具?于是,物联网技术的发展应运而生.物联网是"万物沟通"的.具有全面感知.可靠传送.智能处理特征的连接物理世界的网络,实现了任何时间.任何地点及任何物体的连结.可以帮助实现人类社会与物理世

山西高平地域文化导入美术设计实训项目的实践

地域文化,是指某个地域的人们在特定的范围内,在自然环境的基础上,在长期的生产生活中创造的.人类活动的产物.山西高平是神农炎帝的故里,长平之战的发生地,是一个有着很深文化积淀的新兴城市,行政区域是国土面积的万分之一,却浓缩了中国五千年文化的精髓.本文通过对山西高平丰富的历史文化资源的调查研究,探讨如何将地域文化元素导入中职美术设计专业的实训项目教学过程,论证典型地域文化元素在中职美术设计教育中的独特作用,并以此作为教学实训素材,依托带有典型地域文化特征的企业真实案例,结合教育教学实践,探索中职美术

HTML+CSS网站实训项目总结

  学完HTML+CSS,迎来的最重要的是网站实训和答辩的准备.          第一次的项目分配,因剪刀石头布的手气,得到第二名的机会,却实在不怎么了解各个网站,(当然除了最熟悉的淘宝),选择了组员的要求——国美在线.          国美在线,是国美电器唯一官方商城,中国领先的专业家电网购平台.          这是第一次做的团队小项目,也是第一次以组长的身份和组员进行磨合和合作.          于组长的身份,这是最大的感受除了开始拿到项目的时候的小小激动,就是怕分工不恰当和组织不

Android基础知识【项目实训】【1】

[该项目实训是Android基础知识的一个综合练习] [项目题目]:校园订餐App设计 综合案例 [设计目标] 1.必要功能 ?快餐店浏览,与订餐 ?今天订餐活动查询与订餐,特价饭菜预定 ?分类订餐查询,预定 ?常定饭菜  预定 ?健康餐推荐 ?定时预定,提前预定 ?订单查看, ?餐馆与饭菜打分,评价 ?用户注册与登录 2.扩展选择功能 ?快速拨打电话 ?饮食跟踪,热量估算 ?系统设置 [项目说明] 该项目为实际应用项目的单机 简化版本,只需要完成Android平台App的设计与开发工作. Ap

Android基础知识【项目实训】【2】

[该项目实训是Android基础知识的一个综合练习,特别提示:项目中会用到一些图片素材,都是随意整理的,稍后会上传一个资源,包含该事项项目的基本功能,也含有图片素材] [项目题目]:校园订餐App设计 综合案例 [目标] 因为项目只涉及基础知识,因此项目中所用数据并不联网,都读取单机数据库.(即将该项目中所用数据,如菜品信息.店铺信息等存入数据库)用户在第一次打开该项目时,会在用户手机上创建这些数据库,并插入测试数据. 1.先制作一个欢迎界面,欢迎的同时,准备数据库 欢迎界面Activity对应