springboot项目的结构?

SpringBoot-简介

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

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

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

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

官网创建工程:

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

何为约定优于配置?

简单来说就是两点

SpringBoot项目的约定

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

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

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

springboot项目的结构?  第1张

Spring Boot项目目录结构

根目录: com.example.demo

1)启动类( gApplication.java )

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

2)实体类( domain )

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

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

5)数据服务实现纤档嫌层( Service Implements )推荐: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项目)

Spring Boot从入门到精通-项目搭建

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

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

选择Spring Initializr

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

目录结构如下:

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

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

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

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

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

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

SpringBoot目录结构

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

重点介绍resources目录:

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

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

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

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

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

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

                                                                                                        ——2019.6.10  下午

SpringBoot项目结构及功能

在IntelliJ使用 Spring Initializer快速创建项目

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

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

Spring Boot的版本仲裁中仿闹心;

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

再往下看:

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

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

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

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

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

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

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

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

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

• application.properties

• application.yml

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

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

–file:./config/

–file:./

–classpath:/config/

–classpath:/

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

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

application.yml

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

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

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

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

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

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

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

谈谈对spring boot分层中各层的理解

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

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

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

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

3 Service层:业务层控制业务

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

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

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

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

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

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

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

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23 13:57
下一篇 2023-09-23 13:57

相关推荐

发表回复

登录后才能评论