问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

springboot项目的结构?

发布网友 发布时间:2024-09-06 12:52

我来回答

1个回答

热心网友 时间:2024-09-24 19:53

SpringBoot-简介

接触SpringBoot已经很长时间了,但对SpringBoot的理解还是虚虚实实,找不着北,所以决定花一些时间总解下,虽然不知道能不能坚持下来,但先开始吧!

SpringBoot是一个便于创建独立的、生产级的、基于Spring的应用程序框架,你可以很方便的启动程序。

以上是SpingBoot官方给的特点升洞,涵盖了SpringBoot的主要特性,下面也谈谈自己的使用心得。

可以在网站直接创建,也可以使用IDEA等IDE创建,可以选择基于Maven或Gradle工程

官网创建工程:

SpringBoot支持创建jar包和war包。创建的jar包是内嵌tomcat,可以通过java-jarxxx.jar命令启动。创建war包是外置tomcat,可以放到tomcat容易启动

何为约定优于配置?

简单来说就是两点

SpringBoot项目的约定

SpringBoot创建完成后默认的配置文件是以properties为后缀名,SpringBoot支持将后缀名改为yml。yml后缀名的配置文件可读性更加舒适

SpringBoot是Spring的一套快速配置脚手架,可以基于SpringBoot快速开发单个微服务,而SpringCloud是一个基于SpringBoot实现的微服务框架。

SpringBoot是或笑一个基于Spring的快速开发框架,它通过“懒人整合包”(starter)将Spring常用的jar包包含在内,解决Spring依赖繁多问题。通过衫笑含单一配置文件,解决了传统项目繁多、复杂的配置。约定优于配置的原则使项目搭建起来更多方便快捷。

SpringBoot项目目录结构

根目录:com.example.demo

1)启动类(gApplication.java)

????????推荐放在根目录com.example.demo包下

2)实体类(domain)

3)数据接口访问层(Dao)

4)数据服务接口层(Service)推荐:com.example.demo.service

5)数据服务实现纤档嫌层(ServiceImplements)推荐:com.example.demo.service.impl

????????使用idea的同学推荐使用com.example.demo.serviceImpl目录

6)前端控制器层(Controller)推荐:com.example.demo.controller

7)工具类库(utils)推荐:com.example.demo.utils

8)配置类(config)推荐:com.example.demo.config

9)数据传输对象(dto)推荐:com.example.demo.dto

10)视图包装对象(vo)推荐:com.example.demo.vo

根目录:resources

1)项目配置文件:resources/application.yml

2)静态资源目录蠢大:resources/static/

?毁手???????用于存放html、css、js、图片等资源

3)视图模板目录:resources/templates/

????????用于存放jsp、thymeleaf等模板文件

4)mybatis映射文件:resources/mapper/(mybatis项目)

5)mybatis配置文件:resources/mapper/config/(mybatis项目)

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目录结构

以Maven工程形式新建一个springboot项目。目录结构如下:

重点介绍resources目录:

在resources文件夹或与其并列的文弊裤件夹下建立public文件夹,在public文件铅贺夹下的html文件可以通过浏览租激简器中输入文件+后缀名的方式直接访问的.??

一、public文件夹(需要自己手动新建),就相当于在eclipse的web项目中的WEB-INF文件夹外的文件,是不需要通过服务器内部进行访问的。

二、templates文件夹,是放置模板文件的,因此需要视图解析器来解析它。所以必须通过服务器内部进行访问,也就是要走控制器--服务--视图解析器这个流程才行。

三、static文件夹,既不能直接访问,也不能通过服务器访问到。因此,这个文件夹,可能是放一些css、图片这样的文件供服务器内部引用。

application.properties文件,全局配置文件。

才疏学浅之处,切莫在意。

????????????????????????????????????????????????????——2019.6.10?下午

SpringBoot项目结构及功能

在IntelliJ使用SpringInitializer快速创建项目

这是pom文件中父项目,再进一步查看其spring-boot-starter-parent

发现真正管理SpringBoot应用里面的所有依赖版本的地方在这spring-boot-dependencies

SpringBoot的版本仲裁中仿闹心;

以后我们导入依赖默认是不需要写版本;(没有在dependencies里面管理的依赖自然需要声明版本号)

再往下看:

这是springboot的web场景启动器,只要引入了它,就能帮我们导入了web模块正常运行所依赖的组件;

@SpringBootApplication:SpringBoot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;

@SpringBootConfiguration:SpringBoot的配置类:标注在某个类上,表示这是一个SpringBoot的配置类;

@Configuration:配置类上来标注这个注解;

配置类-----配置文件;配置类也是容器中的一个组件;@Component

@EnableAutoConfiguration:开启自动配置功能;

以前我们需要配置的东西,SpringBoot帮我们自动配置;@EnableAutoConfiguration告诉SpringBoot开启自动配置功能;这样自动配置才能生效;

在src下创建一个controller包,新建一个HelloController类,之后运行springboot,便可以通过localhost:/8080/hello来访问hello页面。

SpringBoot使用一个全局的配置文件,配置文件名是固定的;

?application.properties

?application.yml

配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;

springboot启动会扫描以下位置的application.properties或者application.yml文件作为Springboot的默认配置文件

–file:./config/

–file:./

–classpath:/config/

–classpath:/

优先级由高到底,高优先级的配置会覆盖低优先级的配置;

SpringBoot会从这四个位置全部加载主配置文件;互补配置;

application.yml

@Value获取值和@ConfigurationProperties获取值比较

配置文件yml还是properties他们都能获取到值;

如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;

如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;

==我们还可以通过spring.config.location来改变默认的配置文件位置==

项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件缺槐的新位置;指定配置文件和默认加载的这些配置文件共同起作用形备扮罩成互补配置;

java-jarspring-boot-02-config-02-0.0.1-SNAPSHOT.jar--spring.config.location=G:/application.properties

谈谈对springboot分层中各层的理解

1Dao层:持久层,主要是和数据库进行交互

dao层首先胡创建dao接口,接着就可以在配置文件中定义该接口的实现类;接着就可以在模块中调用dao的接口进行数据业务的处理,而不用关注此接口的具体实现是哪一个类,dao层的数据源和数据库实在配置文件中进行配置的。

2Entity层:实体层,数据库在项目中的类

主要用于定义与数据库对象的属性,提供get/set方法,带参和无参的构造方法。

3Service层:业务层控制业务

业务模块的逻辑应用设计,和DAO层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。接下来就可以在service层调用接口进行业务逻辑应用的处理。

好处:封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。

4.Controller层:控制层控制业务逻辑

具体的业务模块流程的控制,controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也要在配置文件中进行。

Controller和Service的区别是:Controller负责具体的业务模块流程的控制;Service层负责业务模块的逻辑应用设计

总结:具体的一个项目中有:controller层调用了Service层的方法,Service层调用Dao层的方法,帆没其中调掘轿拆用的参数是使用Entity层进行传递的。

补充:5、View层此层与控制层结合比较紧密,需要二者结合起来协同工发。View层判枣主要负责前台jsp页面的表示

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
"多难兴邦"这个词,让我们懂得了什么? uc怎么进入阅读模式 进入阅读模式方法介绍 uc怎么进入小说阅读模式 uc浏览器设置阅读模式-uc浏览器设置阅读模式方法 uc电脑阅读模式怎么设置电脑上UC浏览器的阅读模式怎么打开 微信怎么判断对方把你拉黑并且删除了,还是只是拉黑了? 公司诉讼由哪个法院管辖?公司诉讼管辖确定的理论依据? 笔记本电脑开机无法进入系统笔记本电脑开机后无法进入系统 从深圳到乌镇玩三天,花销最少是多少?越少越好,如果有个计划就更好乐 马上快过年放假了,第一次去见岳父,送茅台好还是五粮液好? Springboot的优点? 如何下载springboot文件? 国药一致和国药股份区别 儿子现在14个月大,可以向女方提起诉讼离婚吗 儿子起诉离婚。父母不同意怎么办?而且女方也不同意。 爸妈可以帮儿子起诉离婚吗 父母帮儿子起诉离婚犯法吗 鲷鱼片怎么做好吃 鲷鱼片的烹饪方法 红鲷鱼菜谱 鲷鱼肉片怎么做好吃又简单? 公务员什么情况可以请病假? 见到彩虹好运的句子 出门遇见彩虹是什么意思? 彩虹的运气是什么意思? 打九价疫苗前需要注意什么 五角星钢笔是什么牌子 漯河的高中有哪些 退休前一个月会有文件寄到家里吗 漯河哪个高中最好 区块链都有什么应用(区块链有哪些应用) 天珺和天梭哪个好 别人在宿舍打架 我在旁边看戏那人被打伤了我要不要陪医药费? 别人打架,我没打也没叫人,站在旁边看,要是赔钱,我赔不赔,负不负刑事... 怎样练加减档 让你一次性通过考试 科目三加减档方法 科目三加减档的操作是怎样做的 考试科目三加减档正确手法 加减档老司机都这样做 我想卖养生粥,怎么熬都不如人家卖的黏糊啊 养生粥食疗粥 前十名的粥有哪些品牌? 2021除夕夜团圆吃年夜饭的祝福语句子推荐 平安保险赔付交通事故导致危房推到重建房款怎么付? 周公解梦,梦见今天买沙. 发客户多给钱是什么意思, 英雄杀烽烟四起 ?随便果是饭前吃减肥还是饭后吃减肥 上夜班台湾随便果怎么吃 随便果睡前几小时吃好 2016江苏师范大学南 威海旅游攻略带什么_威海站下车攻略 威海北站到猫头山多远_威海下高铁旅游攻略 红米k40触摸屏老是失灵