springboot结构(如何构建spring boot)

2024-08-26 12:35:14 4

springboot结构(如何构建spring boot)

“springboot结构”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看springboot结构(如何构建spring boot)!

本文目录

如何构建spring boot

Spring Boot充分利用了JavaConfig的配置模式以及“约定优于配置”的理念,能够极大的简化基于Spring MVC的Web应用和REST服务开发。Spring 4倡导微服务的架构,针对这一理念,近来在微博上也有一些有价值的讨论,如这里和这里。微服务架构倡导将功能拆分到离散的服务中,独立地进行部署,Spring Boot能够很方便地将应用打包成独立可运行的JAR包,因此在开发模式上很契合这一理念。目前,Spring Boot依然是0.5.0的里程碑版本,因此相关的文档尚不完善,本文将会以一个简单的样例来介绍基于这个项目的开发过程。要Spring Boot进行功能开发,需要使用Gradle或者Maven作为构建工具。在本例中,我们会使用Eclipse和Maven插件进行开发。要使用Spring Boot,首先创建一个Maven工程,并修改Maven主要的配置文件pom.xml,如下所示:《parent》 《groupId》org.springframework.boot《/groupId》 《artifactId》spring-boot-starter-parent《/artifactId》 《version》0.5.0.M7《/version》 《/parent》 《dependencies》 《dependency》 《groupId》org.springframework.boot《/groupId》 《artifactId》spring-boot-starter-web《/artifactId》 《/dependency》 《dependency》 《groupId》org.thymeleaf《/groupId》 《artifactId》thymeleaf-spring3《/artifactId》 《/dependency》 《/dependencies》 《properties》 《start-class》com.levin.Application《/start-class》 《/properties》 《build》 《plugins》 《plugin》 《groupId》org.springframework.boot《/groupId》 《artifactId》spring-boot-maven-plugin《/artifactId》 《/plugin》 《/plugins》 《/build》 《repositories》 《repository》 《id》spring-milestone《/id》***隐藏网址*** 《snapshots》 《enabled》false《/enabled》 《/snapshots》 《/repository》 《/repositories》 《pluginRepositories》 《pluginRepository》 《id》spring-milestone《/id》***隐藏网址*** 《snapshots》 《enabled》false《/enabled》 《/snapshots》 《/pluginRepository》 《/pluginRepositories》在上面的配置中,需要将工程的parent设置为spring-boot-starter-parent,并添加对spring-boot-starter-web的依赖,这样我们就无需设置各个依赖项及其版本信息了。并且在构建中要声明使用spring-boot-maven-plugin这个插件,它会对Maven打包形成的JAR进行二次修改,最终产生符合我们要求的内容结构。在我们的应用中将要发布一个REST服务,显示一个基本的用户信息,首先定义一个简单的模型类: package com.levin;public class Person {private String name;private String email; public Person(String name, String email) {this.name = name;this.email = email;} public String getName() {return name;}public void setName(String name) {this.name = name;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;} }接下来,我们需要声明一个Spring MVC的Controller,响应对实体的请求:@Controllerpublic class ShowPersonController { @RequestMapping("/showPerson") public @ResponseBody Person showPerson() { return new Person("levinzhang","levinzhang1981@gmail.com"); }}这个类与我们在使用Spring MVC定义Controller时并无任何差别。接下来,我们需要声明一个主类启动这个应用程序:@ComponentScan@EnableAutoConfigurationpublic class Application { public static void main(String args) { SpringApplication.run(Application.class, args); }}这个类的main方法中使用了SpringApplication帮助类,并以Application这个类作为配置来启动Spring的应用上下文。在这个类中使用了ComponentScan以及EnableAutoConfiguration注解,其中ComponentScan注解会告知Spring扫描指定的包来初始化Spring Bean,这能够确保我们声明的Bean能够被发现。EnableAutoConfiguration将会启动自动配置模式,在我们的配置中会将对Tomcat的依赖级联进来,因此在应用启动时将会自动启动一个嵌入式的Tomcat,因为在样例中使用了Spring MVC,所以也会自动注册所需的DispatcherServlet,这都不需要类似web.xml这样的配置。在Eclipse中要运行这个应用的话,可以直接以Java Application的形式来运行这个main函数,此时会启动应用,我们在浏览器中可以看到如下的运行效果,这就是我们想要的REST服务:在开发调试完成之后,可以将应用打成JAR包的形式,在Eclipse中可以直接使用Maven插件的package命令,最终会形成一个可运行的JAR包。我们使用java –jar命令就可以运行这个JAR包了。所呈现出的效果与在调试期是一样的。现在看一下这个JAR包解压后的目录结构:这个JAR包与传统JAR包的不同之处在于里面有一个名为lib的目录,在这个目录中包含了这个简单应用所依赖的其他JAR包,其中也包含内置的嵌入式Tomcat,正是使用它,才能发布服务和访问Web资源。除了我们编写的源码所编译形成的CLASS以外,在org目录下还有许多Spring所提供的CLASS,正是依赖这些CLASS,才能够加载位于lib目录下JAR中的类。这样的加载机制与在OSGi bundle中声明Bundle-Classpath很类似,不过在OSGi中会由容器来负责加载指定路径下的类。这大致阐述了这样一个JAR包能够发布服务的原因。如果我们想要使用HTML、JSP等Web资源的话,在Controller中直接返回对应的视图就可以了。如果我们想要将这个JAR包转换成可以在Servlet容器中部署的WAR的话,就不能依赖于Application的main函数了,而是要以类似于web.xml文件配置的方式来启动Spring应用上下文,此时我们需要声明这样一个类:public class HelloWebXml extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); }}这个类的作用与在web.xml中配置负责初始化Spring应用上下文的监听器作用类似,只不过在这里不需要编写额外的XML文件了。如果要将最终的打包形式改为WAR的话,还需要对pom.xml文件进行修改,除了需要将packaging的值修改为war以外,还需要对依赖进行适当的配置(这一部分在Spring Boot的样例和文档中均未提及,提醒大家注意):《dependency》 《groupId》org.springframework.boot《/groupId》 《artifactId》spring-boot-starter-web《/artifactId》 《exclusions》 《exclusion》 《groupId》org.springframework.boot《/groupId》 《artifactId》spring-boot-starter-tomcat《/artifactId》 《/exclusion》 《/exclusions》 《/dependency》在这里需要移除对嵌入式Tomcat的依赖,这样打出的WAR包中,在lib目录下才不会包含Tomcat相关的JAR包,否则将会出现启动错误。另外,在移除对Tomcat的依赖后,为了保证编译正确,还需要添加对servlet-api的依赖,因此添加如下的配置: 《dependency》 《groupId》org.apache.tomcat《/groupId》 《artifactId》tomcat-servlet-api《/artifactId》 《version》7.0.42《/version》 《scope》provided《/scope》《/dependency》在这里将scope属性设置为provided,这样在最终形成的WAR中不会包含这个JAR包,因为Tomcat或Jetty等服务器在运行时将会提供相关的API类。此时,执行mvn package命令就会得到一个WAR文件,我们可以直接将其放到Tomcat下运行(需要7.0.42版本以上)。以上介绍了基于Spring Boot开发应用的过程,目前它的文档尚不完善,但是在GitHub上有不少的样例,包括与Spring Data集成访问数据库(关系型以及非关系型)、安全、WebSocket等,读者感兴趣可以下载运行,需要注意的是有些样例中使用的是0.5.0.M6版本,这个版本有问题,运行时会出错,建议手动修改为0.5.0.M7或快照版本。基于以上的介绍,希望读者能够对Spring Boot这个新项目有所了解。它简化了JAR包管理和相关基础设施环境的配置,能够帮助我们快速开发Web应用或构建REST服务,希望它能够尽快完善成熟,更多地用于实践,提升开发效率。

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项目)

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

springboot是bs还是cs

是bs结构从本质上来说,springboot是一个专注于框架的框架。Spring Boot就是对各种框架的整合,让他们集成在一起更加简单,简化了我们在集成过程中的模板化配置,它做了那些没有它你自己也会去做的Spring Bean配置。SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。

如果你还想了解更多这方面的信息,记得收藏关注本站。

springboot结构(如何构建spring boot)

本文编辑:admin

更多文章:


单机游戏模拟器下载(100分本人求单机游戏下载地址:)

单机游戏模拟器下载(100分本人求单机游戏下载地址:)

这篇文章给大家聊聊关于单机游戏模拟器下载,以及100分本人求单机游戏下载地址:对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录100分本人求单机游戏下载地址:推荐一个好的全面的电脑单机游戏模拟器哪里有好的单机游戏下载网要快的,

2024年7月5日 16:42

座机显示号码百事通什么情况?请问下号码百事通电话多少

座机显示号码百事通什么情况?请问下号码百事通电话多少

本文目录座机显示号码百事通什么情况请问下号码百事通电话多少手机里有个号码百事通是干什么的有用么什么是号码百事通业务深圳平安信用卡中心电话后面备注号码百事通什么意思电信的号码百事通是什么意思,有什么作用什么是号码百事通114是什么号码添加11

2024年6月10日 00:12

捕鱼小游戏在线玩(途游休闲捕鱼什么房间好可以打)

捕鱼小游戏在线玩(途游休闲捕鱼什么房间好可以打)

大家好,今天小编来为大家解答以下的问题,关于捕鱼小游戏在线玩,途游休闲捕鱼什么房间好可以打这个很多人还不知道,现在让我们一起来看看吧!本文目录途游休闲捕鱼什么房间好可以打捕鱼大作战属于h5天天爱捕鱼改名叫什么捕鱼达人红包版一天能挣多少钱捕鱼

2024年8月12日 02:15

下载央视体育5直播(哪个app可以看cctv5直播)

下载央视体育5直播(哪个app可以看cctv5直播)

各位老铁们好,相信很多人对下载央视体育5直播都不是特别的了解,因此呢,今天就来为大家分享下关于下载央视体育5直播以及哪个app可以看cctv5直播的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录哪个app可以看c

2024年5月30日 22:08

“人在江湖飘,怎能不挨刀!”请说说这些年你都掉过哪些至今都印象深刻的坑?有人说“人在江湖飘,必须厚脸皮”,你怎么看

“人在江湖飘,怎能不挨刀!”请说说这些年你都掉过哪些至今都印象深刻的坑?有人说“人在江湖飘,必须厚脸皮”,你怎么看

本文目录“人在江湖飘,怎能不挨刀!”请说说这些年你都掉过哪些至今都印象深刻的坑有人说“人在江湖飘,必须厚脸皮”,你怎么看人在江湖飘,哪有不挨刀游戏规则遇到失败时总说:人在江湖,谁能不挨刀是什么意思人在江湖飘哪能不挨刀下一句 人在江湖飘哪能不

2024年5月16日 06:39

打印机驱动之家官网(佳能打印机驱动在哪下载)

打印机驱动之家官网(佳能打印机驱动在哪下载)

今天给各位分享佳能打印机驱动在哪下载的知识,其中也会对佳能打印机驱动在哪下载进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录佳能打印机驱动在哪下载佳能打印机驱动程序下载惠普P1008打印机,官网上下载驱动安装,

2024年5月21日 03:13

地下城堡3炸鸡(地下城堡3食谱37种配方)

地下城堡3炸鸡(地下城堡3食谱37种配方)

本文目录地下城堡3食谱37种配方地下城堡3烧鸡怎么获得地下城堡3魂之诗炸鸡怎么做地下城堡3地洞通向的暗室《地下城堡3》奥托要挖多久地下城堡3食谱《地下城堡》3炸鸡配方是什么地下城堡3食谱37种配方目前地下城堡3魂之诗游戏中有37中食谱。在游

2024年6月25日 03:17

服装设计学什么?服装设计是什么专业

服装设计学什么?服装设计是什么专业

本篇文章给大家谈谈服装设计,以及服装设计学什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录服装设计学什么服装设计是什么专业什么是服装设计服装设计步骤有那些服装设计是什么含义是什么服装设计学什么什么是服装设计服装设计学什么服

2024年5月18日 00:00

qq空间电脑版登录(如何在手机上登录电脑版qq空间)

qq空间电脑版登录(如何在手机上登录电脑版qq空间)

大家好,关于qq空间电脑版登录很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何在手机上登录电脑版qq空间的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文

2024年6月30日 18:20

暗黑破坏神暗月版(暗黑破坏神2:暗月世界单机游戏你觉得哪个人物最好用,为何我用骑士)

暗黑破坏神暗月版(暗黑破坏神2:暗月世界单机游戏你觉得哪个人物最好用,为何我用骑士)

本文目录暗黑破坏神2:暗月世界单机游戏你觉得哪个人物最好用,为何我用骑士暗黑破坏神单机8人难度,能打出所有东西吗《暗黑2》里,原版和暗月版有什么区别暗黑破坏神暗月版问题暗黑破坏神暗月版暗黑破坏神2:暗月世界单机游戏你觉得哪个人物最好用,为何

2024年5月17日 22:45

我是商家怎么样加入艺龙旅行网?艺龙旅行网的介绍

我是商家怎么样加入艺龙旅行网?艺龙旅行网的介绍

大家好,艺龙旅行网相信很多的网友都不是很明白,包括我是商家怎么样加入艺龙旅行网也是一样,不过没有关系,接下来就来为大家分享关于艺龙旅行网和我是商家怎么样加入艺龙旅行网的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目

2024年7月31日 15:02

手机来电铃声免费下载(怎么下载手机铃声免费)

手机来电铃声免费下载(怎么下载手机铃声免费)

今天给各位分享怎么下载手机铃声免费的知识,其中也会对怎么下载手机铃声免费进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录怎么下载手机铃声免费华为手机如何下载免费手机铃声苹果12怎么下载手机来电铃声怎样下载手机铃

2024年6月25日 10:19

数字星空的介绍?卡巴斯基官网上下载安全软件2015,为什么都是第三方

数字星空的介绍?卡巴斯基官网上下载安全软件2015,为什么都是第三方

本文目录数字星空的介绍卡巴斯基官网上下载安全软件2015,为什么都是第三方“数字空中花园”亮相多少颗“星星”闪耀外滩北京百汇数字星空网络技术有限公司怎么样北京百汇数字星空科技有限公司怎么样数字星空的介绍 数字星空成立于2006年3月,是中国

2024年1月17日 10:00

喜马拉雅手机版下载(苹果手机能下载喜马拉雅吗)

喜马拉雅手机版下载(苹果手机能下载喜马拉雅吗)

本篇文章给大家谈谈喜马拉雅手机版下载,以及苹果手机能下载喜马拉雅吗对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录苹果手机能下载喜马拉雅吗苹

2024年9月9日 17:15

为什么我一开电脑就会显示自能ABC,而不是自己按?如何让智能ABC打字速度更快

为什么我一开电脑就会显示自能ABC,而不是自己按?如何让智能ABC打字速度更快

本文目录为什么我一开电脑就会显示自能ABC,而不是自己按如何让智能ABC打字速度更快关于自能ABC输入法问题!郁闷为什么我一开电脑就会显示自能ABC,而不是自己按那是因为你系统里把智能ABC设置成了默认输入法了。你右键右下角那个输入法图标,

2024年5月19日 04:19

qq好友恢复手机版(怎样用手机找回被删掉的QQ好友)

qq好友恢复手机版(怎样用手机找回被删掉的QQ好友)

大家好,关于qq好友恢复手机版很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于怎样用手机找回被删掉的QQ好友的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文

2024年8月22日 01:20

英语小写26个字母手写体是什么?英文字母如何手写体

英语小写26个字母手写体是什么?英文字母如何手写体

本文目录英语小写26个字母手写体是什么英文字母如何手写体英语小写26个字母手写体是什么a、c、e、m、n、o、r、s、u、v、w、x、z这13个小写字母占中间格,顶端必须在第二线上,底端必须在第三线上。小写字母b、d、h、k、l占一二格,顶

2024年6月21日 05:24

客服电话人工服务24小时(淘宝客服电话人工服务24小时)

客服电话人工服务24小时(淘宝客服电话人工服务24小时)

大家好,客服电话人工服务24小时相信很多的网友都不是很明白,包括淘宝客服电话人工服务24小时也是一样,不过没有关系,接下来就来为大家分享关于客服电话人工服务24小时和淘宝客服电话人工服务24小时的一些知识点,大家可以关注收藏,免得下次来找不

2024年8月27日 15:25

download google play(怎么下载Googleplay账户)

download google play(怎么下载Googleplay账户)

本篇文章给大家谈谈download google play,以及怎么下载Googleplay账户对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录怎么下载Googleplay账户如何下载google play store 急急急

2024年6月26日 03:37

window xp(window xp 中文全称是什么)

window xp(window xp 中文全称是什么)

本文目录window xp 中文全称是什么电脑windowxp怎么升级window xp系统怎么设置网络连接window xp要停止服务是什么意思电脑是不是容易中病毒对电脑有什么影响window xp sp3是什么意思window xp中记

2023年11月19日 05:00

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1731
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1156
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索