springboot项目模板(springboot项目结构讲解)

来自:校园生活    更新日期:早些时候
~ SpringBoot从入门到精通-项目搭建

SpringBoot极大的简化了java项目的开发,在之前如果想要开发一个java项目,需要安装tomcat或搜樱戚者其他容器插世陵件。但是SpringBoot内部已经集成了tomcat,因此项目的启动异常的方便。而且SpringBoot的开发中有很多默认的配置,帮助我们省去了相当多的时间。

在idea中,File--New--Project...

选择SpringInitializr

填写你的maven项目的groupId和artifact等项目基本信息之后,在依赖中选择Web--Web之后finish。

目录结构如下:

直接运行DemoApplication.java就可以运行项目了。

你也可以使用官方模板快速开始SpringBoot项目

接下来我们分析一下pom.xml中的依赖。

SpringBoot中还有一个很重要的文件:application.properties/yml/yaml文件。

项目中的配置不再是以前的xml形式,而是写在这个文件中。SpringBoot已经为我们提供了很多默认的配置。

以上我们搭建了一个颂洞完全没有进行任何操作的SpringBoot框架,下一节我们将继续为我们的项目添砖加瓦一步步深入了解SpringBoot。SpringBoot从入门到精通-初识注解、接口

springboot配置文件生成模板

通州数过这个宏册橡首,可以配置excel模板文件,编辑维护如衡springboot工程application.properties配置文件的配置项,并一键生成配置文件。

04《SpringBoot入门教程》使用模板引擎开发Web项目

模板引擎这个词,咋听起来,有点高大上的源岁意味。

实际上,模板引擎是非常平易近人的技术。譬如大家可能都比较熟悉的JSP,就是一种比较典型的模板引擎。

当浏览器将请求抛给控制器,控制器处理好数据后,就跳转JSP等模板引擎页面。注意在跳转的同时,还会将数据组装好,也交给模板引擎处理。

模板引擎会根据数据,和模板引擎的规则,动态生成HTML页面,最后返回给浏览器显示。

我们使用SpringBoot开发Web项目,大体上有两种方式。

第一种方式,是后端服务化的方式,也是当前的主流方式。前端是静态的HTML页面,通过Ajax请求SpringBoot的后端接口。SpringBoot返回数据一般采用JSON格式,前端接收后将数据显示。

第二种方式,是采取模板引擎的方式。前端的请求,到达SpringBoot的控制器后,控制器处理请求,然后将返回数据交给模板引擎。模板引擎负责雹尘睁根据数据生成HTML页面,最后将HTML返回给浏览器。

我个人比较推荐第一种方式,说一下该方式的几个优点:

本篇是讲模板引擎,也得说说模板引擎的优点,王婆卖瓜不能光夸草莓啊。模板引擎开发的页面,对搜索引擎SEO比较友好;还有就是简单的页面,如果用模板引擎开发速度比较快,毕竟模板化的方法,目的就是减少重复提高效率。

SpringBoot支持的模板引擎种类很多,常见的有FreeMarker、Thymeleaf、JSP。

因为这些模板引擎使用的用户都不少,所以我们逐一介绍下其实现过程。

至于孰优孰劣,请各位看官自行评价。正所谓:尺有所短,寸有所长,各取所爱,万物生长!

本篇我们开发一个商品浏览项目实例。

此处说一个我个人的经验:在做一个项目或一个模块的时候,不要一开始就动手写代码,最好是谋定而后动。

我们作为程序员,实际上是整个程序世界的总指挥。应该先整体规划,再实现局部。这种总分型的开发方法便于我们理顺思路,提高编码效率!

好的,我们来思考下,实现商品浏览项目实例的整体流程:

整体流程

可以看到,我们是先建立了控制器方法和页面,再去实现其中的具体细节。这样可以让我们的思维保持连贯性和整体性,在做一些页面和方法较多的项目时,会感觉更加顺畅。

我们按整体流程,使用FreeMarker模板引擎,来实现商品浏览功能。

使用SpringInitializr创建项目,SpringBoot版本选择2.2.5,Group为com.imooc,Artifact为spring-boot-freemarker,生成项目后导入Eclipse开发环境。

引入Web项目及FreeMarker模板相关的依赖项,代码如下:

实例:

创建控制器类,由于是商品相关的控制器,所以命名为GoodsController,代码如下:

实例:

我们具体解释下该类的作用。

我们resource/templates目录下新建商品页面goods.ftl,先不必实现具体功能,代码如下:

实例:

此时我们启动项目,然后访问,即可显示对应页面内容。

定义商品类GoodsDo用来描述商品信息,注意Do表示数据模型对象(DataObject),代码如下:

实例:

然兄橘后我们编写服务类GoodsService,提供获取商品列表的方法。注意此处仅仅是演示模板引擎,并不需要访问数据库,直接返回一个指定内容的商品列表。

实例:

此时,我们的控制器就可以注入GoodsService类型的组件,然后调用其方法了。

实例:

注意model.addAttribute("goodsList",goodsService.getGoodsList());,我们将商品列表相关的数据交给模板引擎去处理。

此时我们可以根据FreeMarker模板引擎,按模板规则显示商品信息了。

实例:

注意我们通过FreeMarker的模板语法,输出了商品列表信息。关于FreeMarker模板引擎更多的语法规则,感兴趣的同学可以后续查阅更多资料。

启动项目,打开浏览器访问,即可查看输出结果。

Thymeleaf和FreeMarker,都是模板引擎,使用方法基本类似。此处我们仅仅是给出一个范例,不再做过多的解释。

使用SpringInitializr创建项目,SpringBoot版本选择2.2.5,Group为com.imooc,Artifact为spring-boot-thymeleaf,生成项目后导入Eclipse开发环境。

引入Web项目及Thymeleaf模板相关的依赖项。

实例:

创建控制器类,GoodsController,Thymeleaf直接使用HTML作为模板页面,故代码如下:

实例:

我们在resource/templates目录下新建商品页面goods.html,先不必实现具体功能,代码如下:

实例:

此时我们启动项目,然后访问,即可显示对应页面内容。

商品类GoodsDo,服务类GoodsService,这两个类与上面没有区别直接放出代码。

实例:

实例:

好的,此时我们的控制器就可以注入GoodsService类型的组件,然后调用其方法了。

实例:

此时我们可以根据Thymeleaf模板引擎,按模板规则显示商品信息了。

实例:

注意我们通过Thymeleaf的模板语法,输出了商品列表信息。关于Thymeleaf模板引擎更多的语法规则,感兴趣的同学可以后续查阅更多资料。

启动项目,打开浏览器访问,即可查看输出结果。

到此,大家基本上也能发现,这两种方式除了模板页面文件内容不同,其他地方基本都是一模一样的。

也就是说,模板引擎主要负责通过一些模板标签,将控制器返回的数据解析为网页。

注意SpringBoot官方已经不推荐使用JSP了,确实操作起来也比较麻烦。但是由于JSP用户体量还是比较大的,所以此处还是简单演示下,开发步骤与FreeMarker/Thymeleaf基本一致。

使用SpringInitializr创建项目,SpringBoot版本选择2.2.5,Group为com.imooc,Artifact为spring-boot-jsp,生成项目后导入Eclipse开发环境。

引入Web项目及JSP模板相关的依赖项。

实例:

创建控制器类,GoodsController,代码如下:

实例:

手工添加src/main/webapp及子目录如下,同时目录下放一个goods.jsp用于测试。注意该目录是一个SourceFolder源代码目录,不是普通文件夹目录。

spring-boot-jsp项目结构

实例:

注意,我们还需要添加一个视图解析器,实现JSP页面往指定目录跳转。

实例:

此时我们启动项目,然后访问,即可显示对应页面内容。

商品类GoodsDo,服务类GoodsService,这两个类与上面没有区别直接放出代码。

实例:

实例:

好的,此时我们的控制器就可以注入GoodsService类型的组件,然后调用其方法了。

实例:

此时我们可以根据JSP模板引擎,按模板规则显示商品信息了。

实例:

注意我们通过JSP的模板语法,输出了商品列表信息。关于JSP模板引擎更多的语法规则,感兴趣的同学可以后续查阅更多资料。

启动项目,打开浏览器访问,即可查看输出结果。

最后大家应该也发现了,FreeMarker和Thymeleaf的用法几乎是一模一样的,而JSP还需要手工添加一些目录和配置。

三种方式各有优劣,FreeMarker模板语法比较简洁,Thymeleaf可以直接使用HTML作为模板文件,JSP用户群体广泛。

但是三种方式,都是一种模板引擎而已,将控制器返回数据转化为HTML页面显示,本质上没啥区别,大家对模板引擎有一个了解即可。

【Springboot】项目模块化

一个大型的项目需要模块化分解,从而提高开发效率。这里给出一顷扒个模块化模板方便构建项目。

模雀卜昌板分为:apply(应用模块),common(公共工具类),static(静态资源)。弊岩

本案例使用的模块依赖关系:

pom设置:

FilenewModule创建三个子模块

1.apply(核心模块,需要执行,依赖其他模块,打jar包)

2.common(共用工具,不需要执行,不依赖其他模块,打jar包)

3.static(静态资源,不需要执行,不依赖其他模块,打war包)

在apply的启动类中添加

浏览器访问

SpringBoot|IDEA搭建springboot项目+jsp页面模板

搭建springboot项目,web页面用jsp模板

我把自己遇到的问题和解决方法罗列了一下,看看你们会不会也遇到这些问题

Group和Artifact被称为“坐标”,为了保证项目唯一性

Group分为多个段,一般可设成两段,第一段为域,例如org、com、cn,org为非营利组织,com为商业组织;第二段为公司名称

Artifact为项目名称

其他的可根据自己的需求选择对应的starter进行依赖,或者可后期在pom.xml中配置

在main下新增webapp目录,在webapp目录下新增WEB-INF目录和jsp目录,则将jsp文件创轿兄猜建在jsp目录下

右击jsp目录-new-JSP/JSPXpage创建jsp文件,例如本文创建index.jsp

首先,右击尘亮项目?-?OpenModuleSettings

选择Modules?-?选择Web?-?点击+号?-?点击web.xml

选择main\webapp\WEB-INF目录,在后面添加上web.xml,点击ok

web.xml内容如下:

添加?org.apache.tomcat.embed的tomcat-embed-jasper依赖包和javax.servlet的jstl依赖包

配置tomcat端口(默认值为8080),可以选择不配置

spring.mvc.view.prefix和spring.mvc.view.suffix是SpringBoot约定的视图前缀和后缀的配置,意思是找到/jsp/目录下以.jsp为后缀的JSP文件

右击com.spring.demo目录-new-选择pakage,新增controller包

右闭型击controller目录-?new-选择JavaClass,创建Controller类,本人创建为IndexController类

引入注解@Controller和@RequestMapping,返回jsp页面

springboot小demo搭建完毕???^_^




springboot项目模板(springboot项目结构讲解)视频

相关评论:
  • 17733942907超详细SpringBoot 项目模板,总结的很好
    蔺寒嘉日志配置采用logback,确保了日志记录的高效性和可维护性。最后,通过JenkinsFile实现自动化构建与部署流程,简化了项目构建、测试和发布流程。本文介绍的基础SpringBoot项目模板不仅集成了常用框架和工具,还遵循了面向对象设计原则,旨在提供一个高效、易于维护的开发框架,适用于多种业务场景。

  • 17733942907【SpringBoot】还不会SpringBoot项目模块分层?来这手把手教你
    蔺寒嘉1. IDEA新建项目:点击New->project,选择Maven项目,填写项目名称(如chat-boot),GAV坐标,点击Finish。删除无用文件及目录,如src目录和*.iml文件。2. 创建子模块-dependencies(依赖层):右击项目chat-boot,new->Moudle新建模块chat-boot-dependencies。填写子模块名chat-boot-dependencies,GAV,点击...

  • 17733942907SpringBoot-web开发: 模板引擎Thymeleaf
    蔺寒嘉综上所述,Thymeleaf是一个功能强大、易于使用的模板引擎,适用于SpringBoot项目中动态生成HTML页面的需求。通过正确的配置和使用,开发者能够提高开发效率,实现更好的代码组织和维护。

  • 17733942907【原来这么简单】Springboot多module项目工程搭建这样做就好了。_百...
    蔺寒嘉1、多模块项目中,父模块打包类型必须是pom。2、因为开发框架是Spring Boot,父模块默认继承spring-boot-starter-parent,因此可以删除spring-boot-starter和spring-boot-starter-test依赖(祖先已经包含了)父工程pom.xml如下 4、编辑子模块pom.xml a. 子模块scaffold-common的pom.xml文件内容如下,其中par...

  • 17733942907SpringBoot入门建站全系列(八)集成模板引擎(thymeleaf)渲染页面_百度...
    蔺寒嘉"data", retOk);将数据传递给viewName指定的模板文件,解析后返回一个html文件给浏览器。页面如下:五、过程中使用到的实体 详细完整的实体,请访问品茗IT-博客《SpringBoot入门建站全系列(八)集成模板引擎(thymeleaf)渲染页面》快速构建项目 喜欢这篇文章吗?喜欢就加入我们一起讨论SpringBoot技术吧!

  • 17733942907【笑小枫的SpringBoot系列】【十五】SpringBoot根据模板生成Word_百度...
    蔺寒嘉首先创建一个word模版文档,模版如下图 word模版地址: file.xiaoxiaofeng.site\/...注意word中的占位符的格式,就是freemaker的格式 详细解释如下:直接用${} 中间为替换的字段名。如果直接在word里面定义${title},在转换成xml的时候有可能会被一些编码隔开,这个时候只需要用word打开xml,将这些内容...

  • 17733942907SpringBoot创建多模块方式以及打包方式
    蔺寒嘉在进行SpringBoot项目的多模块重构与打包时,需要遵循以下步骤,以确保项目的成功部署。首先,在模型层(model)、持久层(persistence)和表示层(web)中分别创建相应的模块。接下来,在文件中添加需要的依赖,完成多模块重构的搭建。接着,采用命令方式打成jar包。执行命令mvn -Dmaven.test.skip -U ...

  • 17733942907springboot前端模板?
    蔺寒嘉可以配套springboot的前端模板thymeleaf,freemarker等,明纳或者前后端分离,直盯尘接使用凯槐禅html手写04《SpringBoot入门教程》使用模板引擎开发Web项目 模板引擎这个词,咋听起来,有点高大上的源岁意味。 实际上,模板引擎是非常平易近人的技术。譬如大家可能都比较熟悉的JSP,就是一种比较典型的模板引擎。 当浏览器将...

  • 17733942907Spring Boot 项目模板
    蔺寒嘉在 Spring Boot 项目中启用 CORS(跨源资源共享),可遵循以下步骤:确保 CORS 配置在 Spring Security 的过滤器之前运行,为此,Spring Security 提供了相应的配置选项。项目中使用的第三方库及参考资料,应在 README 文件中提供详细信息,以供开发者查阅和引用。这不仅有助于提高项目的可维护性和可理解...

  • 17733942907Springboot +Thymeleaf ——手把手教你搭项目(番外)
    蔺寒嘉鉴于之前对Springboot 2.x、Maven和MyBatis项目搭建的详细介绍,本文将直接进入主题。首先,新建项目时,除了常规的依赖选择,还需添加Thymeleaf模板依赖。创建完成后,记得导入更改并配置pom.xml,包括添加编码方式和MyBatis插件。同时,调整application.yml和mybatis的配置,参照以往系列的步骤2和3。引入项目...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网