zoukankan      html  css  js  c++  java
  • SpringBoot入门学习(二)

    第一讲我们已经讲解了入门Demo,这一讲我们主要讲解包含以下内容

    1. 项目内一些属性配置
    2. 自定义属性配置
    3. ConfigurationProperties配置

    (1)第一个工程创建的时候会自动在工程下创建application.properties文件,如下图,那么该文件有什么作用呢?

                该文件主要用于参数配置,类似于web.xml一样,可以配置不同的参数,而且比web.xml 更强大。首先分析一下,demo首次访问项目地址是  http://localhost:8080/,

                我们并没有加项目路径,其实,这是springboot默认的。如果要加上项目路径,就只要在application.properties中配置即可,接下来我们将加上项目路径以及更改端口访问。

        

    在application.properties中配置如下

    重启项目访问 http://localhost:8888/hello/hello,结果如下图,正常可以访问。

    (2)自定义属性配置,日常开发中,我们知道,有一些参数是需要配置的,比如jdbc参数。那么我们是如何在application.properties中配置以及在程序是获取呢?

      首先在application.properties中配置参数如下

    在Demo这个类中增加相应代码。获取配置文件中的参数的值。代码如下:

    重启服务,然后访问 http://localhost:8888/hello/showDbMsg,结果如下,这就是自定义属性配置。

    (3)在上面我们已经获取到配置文件的参数了,但是有一个问题,Demo类使用了这几个参数,如果有上百个类也要引用,还需要定义上百次变量,这可不是好事情。所以我们要通过一种其他的方式来获取,即是抽取变量定义到一个实体类中,

    然后使用@ConfigurationProperties注解,自动解析参数给实体类赋值。当然application.properties定义的还是不变。

    新增实体类MySqlProperties

    package com.example.demo;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    @Component
    @ConfigurationProperties(prefix = "mysql")
    public class MySqlProperties {
    
        private String jdbcName;
        private String userName;
        private String password;
        private String jdbcUrl;
    
        public String getJdbcName() {
            return jdbcName;
        }
    
        public void setJdbcName(String jdbcName) {
            this.jdbcName = jdbcName;
        }
    
        public String getJdbcUrl() {
            return jdbcUrl;
        }
    
        public void setJdbcUrl(String jdbcUrl) {
            this.jdbcUrl = jdbcUrl;
        }
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        @Override
        public String toString() {
            return "MySqlProperties [jdbcName=" + jdbcName + ", jdbcUrl=" + jdbcUrl + ", userName=" + userName
                    + ", password=" + password + "]";
        }
    
    }

    demo类改造后如下:

    package com.example.demo;
    import javax.annotation.Resource;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    public class Demo {
    
        
        @Resource
        private MySqlProperties mySqlProperties;
        
        
        
        @ResponseBody
        @RequestMapping("/showDbMsg")
        public String showDbMsg() {
            return mySqlProperties.toString();
            
        }
        
        @ResponseBody
        @RequestMapping("/hello")
        public String name() {
            return "hello spring boot";
            
        }
    }

    重启容器后访问,http://localhost:8888/hello/showDbMsg,结果如下图,能正常访问。

  • 相关阅读:
    关于Vim的问题s
    突然想来说几句
    直接下载Google Play市场的APK
    编译 ijg JPEG V8 库 GIF 库
    linux下 GUI 数码相册项目 持续更新中
    nes 红白机模拟器 第8篇 USB 手柄支持
    nes 红白机模拟器 第7篇 编译使用方法
    nes 红白机模拟器 第6篇 声音支持
    使用 ALSAlib 播放 wav
    ALSA 声卡 驱动 linux 4.1.36 中变化
  • 原文地址:https://www.cnblogs.com/yuanchaoyong/p/8729538.html
Copyright © 2011-2022 走看看