首页/SEO技术/正文
北京黑帽seo论坛:Spring Boot(二) 配置文件_黑帽SEO学习

 2022年04月08日  阅读 558  评论 0

摘要:
:跟我学SpringCloud | 第二十章:Spring Cloud 之 okhttp

文章导航-readme

一、配置Spring Boot热部署

    技术的发展总是因为人们想偷懒的心理,如果我们不想每次修改了代码,都必须重启一下服务器,并重新运行代码。那么可以配置一下热部署。有了它之后,修改了代码只需要重新build一下,就可以看到效果了,不需要重启服务器。

1.配置热部署

  1. pom.xml文件中添加如下依赖:
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>                                        <optional>true</optional>
        </dependency>
  1. 修改pom.xml文件
 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--开启热部署-->
                    <fork>true</fork>
                </configuration>
            </plugin>
        </plugins>
    </build>

修改pom.xml文件后,idea会弹出一个让你自动导入包的文件,点击Import Changes。就会自动将jar包下载到依赖库中。

如此,就实现了Spring Boot的热部署,此时修改我们的代码,只需重新Build一下就可以了。

2. 配置自动build

当然,如果你更懒的话,练build都不想做,也可以在Idea中配置自动Build(自动Build仅支持Spring Boot项目)。

  1. 打开Idea->File->Settings...可以看到如下界面

选中上图中的Build Project automatical

  1. 按组合键Shift+ALT+Ctrl+/选择Registry可以看到如下界面

选中上图中的complier.automake.allow.when.app.running

如此,修改我们的代码后,无需重新build也无需重新重启。

二、Spring Boot读取配置文件

  1. 修改我们的配置文件application.properties
server.port=8888

<!--网站配置-->
website.name=Loading
website.domin=www.loading.ink
website.title=我的博客网站
website.description=分享我的生活和技术
  1. 新建配置文件类WebSiteConfig
package spring.boot.web.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

import java.text.MessageFormat;

@Configuration
//@ConfigurationProperties(prefix = "website")
//要读取的配置文件地址
@PropertySource(value = "classpath:application.properties")
public class WebSiteConfig {
    @Value("${website.title}")
    private String title;
    @Value("${website.domain}")
    private String domain;
    @Value("${website.description}")
    private String description;

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDomain() {
        return domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Override
    public String toString() {
        return MessageFormat.format("Title:{0} Domin:{1} Description:{2}", title, domain, description);
    }
}

读取配置文件中的配置有两种方式

1.@ConfigurationProperties(prefix = "website")用于绑定属性,其中prefix表示所绑定的属性的前缀。如果配置文件中的配置和属性名一致可以用此种方式

2.@Value("${website.title}") 绑定配置文件中的属性

,【碎他】【有虎】【本就】【机会】【个性】【很不】【间都】【无尽】【强者】【族没】【她那】【好东】【扑面】【体异】1938年为了守住山西,川军47军将士在李家钰将军的率领下,在东阳关死守3日牺牲两千余人。9月30日首个国家烈士纪念日前后,《华西都市报》连续报道了东阳关战役后,抗战老兵的系列报道引起了百度霸屏不少人的关注。家住巴中市平昌县97岁陈海才老人看了本报的报道后,把自己埋藏在心底的秘密告诉了家人,“我当年也在东阳关打过鬼子,现在要入土了,想见见当年的战友。”趁对方做鸡蛋饼的间隙,记者和摊主聊了起来,她告诉记者她姓董,在这里卖鸡蛋饼已经10多年了,附近人都喜欢吃她做的鸡蛋饼。“我用的材料都很实在,大家都能看得到,也吃得放心。”说起自己的鸡蛋饼,董阿姨说真的没什么秘诀,主要是自己材料放得足,货真价实。“赚不到多少钱,就图个开心。,

注意:

注解@Configuration用于定义配置类

注解@PropertySource(value = "classpath:application.properties")代表要读取配置文件的路径当配置文件是application.properties时,这个注解可以省略不写

  1. 新建WebSiteController
package spring.boot.web.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import spring.boot.web.config.WebSiteConfig;

@RequestMapping("/website")
@RestController
public class WebSiteController {

    //通过@Autowired注解注入bean
    @Autowired
    private WebSiteConfig webSiteConfig;

    @RequestMapping(method = RequestMethod.GET)
    public String get() {
        return webSiteConfig.toString();
    }
}
  1. 测试运行

  1. 注意,如果第一次运行时遇到读取配置文件里的中文乱码的问题。其主要原因可能是因为配置文件的格式并不是utf-8的格式。此时可在idea中进行设置。

如上图所示更改为uft-8,注意后面的一定要勾选上。

通过上面配置后如果还不行,可以将配置文件删除后重新建一个,问题就可以解决!

三、Spring Boot Profile

    Spring Boot 使用一个全局的配置文件 application.properties ,Spring Boot 的全局配置文件的作用是对一些默认配置的配置值进行修改。

    在日常开发中,我们常常会遇到一个问题。就是在不同的环境使用不同的配置。比如生产、开发、测试三个不同的环境,我们的配置肯定不一样。这时,我们就要用到Profile。

    Profile 是 Spring 用来针对不同的环境对不同的配置提供支持的,全局 Profile 配置使用 application-{profile}.properties(如 application-dev.properties)。通过在 application.properties 中设置 spring.profiles.active = dev 来指定活动的 Profile

  1. 依次再目录下面新建三个配置文件,application-dev.propertiesapplication-test.propertiesapplication-prod.properties。它们分别代表开发环境、测试环境、生产环境的配置文件。
server.port=8887

website.title=我的博客网站--Dev
website.domain=www.loading.ink
website.description=分享我的技术与生活
server.port=8886

website.title=我的博客网站--test
website.domain=www.loading.ink
website.description=分享我的技术与生活
server.port=8885

website.title=我的博客网站--prod
website.domain=www.loading.ink
website.description=分享我的技术与生活
  1. 接下来修改application.properties:表示,将采用application-dev.properties这个配置文件。
spring.profiles.active=dev

测试运行我们可以看到会启动开发环境配置文件的端口8887

注意:配置文件会优先获取Profile中的配置,如果Profile中没有的配置项, 那么会直接取application.properties中的配置

示例代码

。转载请注明来源地址:黑帽SEO http://www.heimao.wiki 专注于SEO培训,快速排名
黑帽WiKi_黑帽百科(www.heimao.wiki),8年黑帽SEO优化技术,黑帽seo快速排名,黑帽seo技术培训学习,黑帽SEO快速排名程序、泛目录寄生虫技术,赠送免费黑帽SEO视频教程

黑帽SEO技术,网站快速排名,蜘蛛池加速收录,目录程序定制)

扫一下添加微信:



版权声明:本文为 “黑帽百科” 原创文章,转载请附上原文出处链接及本声明;

原文链接:https://www.heimao.wiki/post/17881.html

标签: 黑帽SEO学习 
关于我们
黑帽百科:黑帽seo百科,黑帽seo技术学习培训分享,黑帽SEO快排程序分享,定制。 SEO快速排名收录学习 老师qq:25496334
扫码关注
联系方式
全国服务热线:
地址:新加坡 - 市中心(Singapore City)乌节路
Email:hack66666@foxamil.com
邮编:
Copyright Your 黑帽百科.|网站地图.Some Rights Reserved.