增城手机网站建设,安庆市网站建设制作,网站制作器手机版下载,wordpress幻灯片的调用代码作者 | 阿文#xff0c;责编 | 郭芮头图 | CSDN 下载自东方IC出品 | CSDN#xff08;ID#xff1a;CSDNnews#xff09;任何先进技术的产生都不是凭空出现的#xff0c;SpringBoot 也不例外#xff0c;SpringBoot 是基于Spring 的基础上产生的。总所周知#xff0c;Spri… 作者 | 阿文责编 | 郭芮头图 | CSDN 下载自东方IC出品 | CSDNIDCSDNnews任何先进技术的产生都不是凭空出现的SpringBoot 也不例外SpringBoot 是基于Spring 的基础上产生的。总所周知Spring 是一个轻量级的容器在Java EE 项目中得到广泛使用但是Spring复杂、繁琐和臃肿的XML配置方式配置使得开发人员在实际使用过程中变得非常痛苦尤其是与其他第三方工具进行整合时比如Mybatis等就更会使得配置文件变得异常复杂和重复。比如我们来看一段Spring的配置上图是一段配置数据库以及事务管理和Mybatis 的配置我们发现仅仅是配置文件就非常的多当然这还不是最复杂的。在这种基础上SpringBoot 诞生了。SpringBoot 的出现给开发者带来了新的自动化配置解决方案使得开发者能够基于 SpringBoot 快速创建基于 Spring 生产级的独立应用程序 SpringBoot 中对一些常用的第三方库提供了默认的自动化配置方案使得开发者只需要很少的 Spring 配置就能运行完整的 JavaEE 应用。由于其拥有了开箱即用的特性以及服务监控方案同时自带web服务器且与Spring的另一个主流的Spring Cloud 等服务治理框架以及kubernetes 等技术的融合使得开发人员可以快速的实现微服务以及服务的治理、熔断等最重要的是你可以完全不需要配置XML真的是太爽了。那么如何入门SpringBoot 呢本文将带你了解。小试牛刀首先我们创建一个SpringBoot工程创建SpringBoot的方法有很多这里以IDEA 企业版为例我们选择 Spring initalizr 然后创建一个工程。创建完工程之后我们打开pom.xml我们可以看到这段配置parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.2.6.RELEASE/versionrelativePath/ !-- lookup parent from repository --
/parentspring-boot-starter-parent 是一种特殊的 starter它提供了一些 maven 默认配置同时还提供了dependency-management 可以便开发者在引入其他依赖时不必输入版本号方便依赖管理。SpringBoot 提供的starter 非常多这些 Starter 要为第三方库提供自动配置假如我们要配置一个web项目则可以在maven 中加入 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId
/dependency在项目的入口我们可以看到一个DemoApplication这是整个SpringBoot的入口package com.example.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class);}}其中SpringBootApplication 注解等于如下注解表示开启自动配置以及自动扫包EnableAutoConfiguration
ComponentScan其中ComponentScan 会扫描Service、Repository、Component、Controller、RestController以及带Configuration 注解的类但是我们为了更方便通常都是直接在入口加上SpringBootApplication。在IDE中我们运行DemoApplication 这个class 就可以运行SpringBoot 了此时终端会出现如下信息我们可以看到 (v2.2.6.RELEASE) 版本号以及Tomcat的端口但是此时我们去访问127.0.0.1:8080会出现404的提醒我们可以在项目下新建一个 HelloControllerRestController
public class HelloController {GetMapping(/hello)public String hello(){return Hello World!;}
}此时我们去访问可以看到如下内容当然更多的时候我们写完一个应用是需要放到服务器上去运行的这个时候我们需要把应用进行打包要打包应用我们需要在pom.xml中配置buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins
/build当然使用idea 创建的SpringBoot 这些都给我们安排的妥妥的我们只需要在终端输入如下命令就可以将整个项目进行打包mvn package然后我们在终端执行java -jar target/demo-0.0.1-SNAPSHOT.jar就可以运行打包好的项目如下所示定制Banner当SpringBoot 程序启动之后我们会看到SpringBoot 的Logo但是通常情况下企业会将其替换成自己的公司Logo那么如何定制属于自己的企业Logo 呢首先我们要把文件转成TXT文本形式的字体比如在 http://www.network-science.de/ascii/ 设置比如我们设置一个SpringDemo的字体然后在项目的resource目录下新建一个banner.txt的文件将生成的文字复制粘贴进去即可然后我们重新运行程序就会发现默认的Logo 被替换了如果要关闭也很简单只需要在main函数中设置SpringApplicationBuilder builder new SpringApplicationBuilder(DemoApplication.class);
builder.bannerMode(Banner.Mode.OFF).run(args);Web 容器的配置在SpringBoot 中我们可以在application.properties 中对web 容器进行配置如下所示server.address127.0.0.1 # 配置地址
server.port8888 # 配置端口
server.tomcat.basedir/opt/tmp # 配置目录
server.tomcat.uri-encodingutf-8 #配置编码
server.tomcat.max-threads300 #配置最大线程数在idea 中会对配置项进行智能提示非常方便我们还可以在该文件中配置证书server.ssl.key-store #配置秘钥文件名称
server.ssl.key-alias #配置秘钥别名
server.ssl.key-password # 配置证书密码application.properties 的文件加载顺序SpringBoot 中的application.properties配置文件可以出现在如下4个位置项目根目录下的config 文件夹中项目的根目录下classpath 下的config文件夹下classpath 下开发者也可以自定义这个文件的名称只需要在运行时加上spring.config.namexxx即可jar -jar xxx.jar --spring.config.namexxx也可以知道配置文件所在路径jar -jar xxx.jar --spring.config.locationclasspath:/SpringBoot 的配置文件最终都会被加载到Environment中我们可以通过Value 注解以及EnvironmentAware 接口来讲数据注入到属性上例如application.properties中的内容如下book.name西游记
book.author六承恩
book.price66
book.type古典文学,四大名著Book 类的内容如下Component
ConfigurationProperties(prefix book)
public class Book {private String name;private String author;private Float price;private ListString type;//getter 省略//seteer 省略Overridepublic String toString() {return Book{ name name \ , author author \ , price price , type type };}
}其中ConfigurationProperties 注解中的prefix 属性描述了要加载配置文件的前缀对应的控制器类如下RestController
public class BookController {AutowiredBook book;GetMapping(/book)public String book(){return book.toString();}
}我们执行后访问可以看到如下内容除此之外还支持YAML 配置,我们将application.properties中的内容删除或注释然后在resource中新建一个application.yml 文件内容如下重新运行程序得到的结果与上面的一样。book:name: 西游记author: 六承恩price: 66type:- 古典文学- 四大名著YAML格式的文件虽然方便但是无法使用PropertySource 注解加载YAML文件。Profile在实际的开发过程中开发人员需要频繁的在生产和测试环境进行切换其中一些配置就需要变动比如数据库的配置。对此SpringBoot 提供了Profile注解我们可以配置2个配置文件分别代表生产和测试环境的在resource中新建application-dev.properties以及application-prod.properties。然后在main 函数中配置SpringApplicationBuilder builder new SpringApplicationBuilder(DemoApplication.class);builder.application().setAdditionalProfiles(prod);builder.run(args);或者在项目启动时候加上--spring.profiles.activeprod。同时欢迎所有开发者扫描下方二维码填写《开发者与AI大调查》只需2分钟即可收获价值299元的“ AI开发者万人大会”在线直播门票推荐阅读小网站的容器化下网站容器化的各种姿势先跟着撸一波代码再说
你知道吗其实Oracle直方图自动统计算法存在这些缺陷附验证步骤
详解以太坊虚拟机EVM的数据存储机制
比特币当赎金WannaRen勒索病毒二度来袭平台抗住日访问量7亿次研发品控流程全公开“手把手撕开LeetCode翻译扒各种算法套路的裤子”北京四环堵车引发的智能交通大构想
真香朕在看了