SpringBoot配置分析、获取到SpringBoot配置文件信息以及几种获取配置文件信息的方式...-程序员宅基地

技术标签: java  数据库  

Spring入门篇:https://www.cnblogs.com/biehongli/p/10170241.html

SpringBoot的默认的配置文件application.properties配置文件。

1、第一种方式直接获取到配置文件里面的配置信息。 第二种方式是通过将已经注入到容器里面的bean,然后再注入Environment这个bean进行获取。具体操作如下所示:

 1 package com.bie.springboot;
 2 
 3 import org.springframework.beans.factory.annotation.Autowired;
 4 import org.springframework.beans.factory.annotation.Value;
 5 import org.springframework.core.env.Environment;
 6 import org.springframework.stereotype.Component;
 7 
 8 /**
 9  * 
10  * @Description TODO
11  * @author biehl
12  * @Date 2018年12月30日 上午10:52:09 
13  *     1、SpringBoot获取到配置文件配置信息的几种方式。
14  *  2、注意配置文件application.properties配置文件默认是在src/main/resources目录下面,
15  *      也可以在src/main/resources目录下面的config目录下面。
16  *      即默认是在classpath根目录,或者classpath:/config目录。file:/,file:config/
17  *  3、如何修改默认的配置文件名称application.propereties或者默认的目录位置?
18  *      默认的配置文件名字可以使用--spring.config.name指定,只需要指定文件的名字,文件扩展名可以省略。
19  *      默认的配置文件路径可以使用--spring.config.location来指定,配置文件需要指定全路径,包括目录和文件名字,还可以指定
20  *          多个,多个用逗号隔开,文件的指定方式有两种。1:classpath: 2:file:
21  *      第一种方式,运行的时候指定参数:--spring.config.name=app
22  *              指定目录位置参数:--spring.config.location=classpath:conf/app.properties
23  *      
24  *          
25  */
26 @Component // 注册到Spring容器中进行管理操作
27 public class UserConfig {
28 
29     // 第二种方式
30     @Autowired // 注入到容器中
31     private Environment environment;
32 
33     // 第三种方式
34     @Value("${local.port}")
35     private String localPort;
36 
37     // 以整数的形式获取到配置文件里面的配置信息
38     @Value("${local.port}")
39     private Integer localPort_2;
40 
41     // 以默认值的形式赋予值
42     // @Value默认必须要有配置项,配置项可以为空,但是必须要有,如果没有配置项,则可以给默认值
43     @Value("${tomcat.port:9090}")
44     private Integer tomcatPort;
45 
46     /**
47      * 获取到配置文件的配置
48      */
49     public void getIp() {
50         System.out.println("local.ip = " + environment.getProperty("local.ip"));
51     }
52 
53     /**
54      * 以字符串String类型获取到配置文件里面的配置信息
55      */
56     public void getPort() {
57         System.out.println("local.port = " + localPort);
58     }
59 
60     /**
61      * 以整数的形式获取到配置文件里面的配置信息
62      */
63     public void getPort_2() {
64         System.out.println("local.port = " + environment.getProperty("local.port", Integer.class));
65         System.out.println("local.port = " + localPort_2);
66     }
67 
68     /**
69      * 获取到配置文件里面引用配置文件里面的配置信息 配置文件里面变量的引用操作
70      */
71     public void getSpringBootName() {
72         System.out.println("Spring is " + environment.getProperty("springBoot"));
73         System.out.println("SpringBoot " + environment.getProperty("Application.springBoot"));
74     }
75 
76     /**
77      * 以默认值的形式赋予配置文件的值
78      */
79     public void getTomcatPort() {
80         System.out.println("tomcat port is " + tomcatPort);
81     }
82 }

默认配置文件叫做application.properties配置文件,默认再src/main/resources目录下面。

1 local.ip=127.0.0.1
2 local.port=8080
3 
4 springBoot=springBoot
5 Application.springBoot=this is ${springBoot}

然后可以使用运行类,将效果运行一下,运行类如下所示:

  1 package com.bie;
  2 
  3 import org.springframework.beans.BeansException;
  4 import org.springframework.boot.SpringApplication;
  5 import org.springframework.boot.autoconfigure.SpringBootApplication;
  6 import org.springframework.context.ConfigurableApplicationContext;
  7 
  8 import com.bie.springboot.DataSourceProperties;
  9 import com.bie.springboot.JdbcConfig;
 10 import com.bie.springboot.UserConfig;
 11 
 12 /**
 13  * 
 14  * @Description TODO
 15  * @author biehl
 16  * @Date 2018年12月30日 上午10:44:35
 17  *
 18  */
 19 @SpringBootApplication
 20 public class Application {
 21 
 22     public static void main(String[] args) {
 23         System.out.println("===================================================");
 24         ConfigurableApplicationContext run = SpringApplication.run(Application.class, args);
 25         
 26         try {
 27             //1、第一种方式,获取application.properties配置文件的配置
 28             System.out.println(run.getEnvironment().getProperty("local.ip"));
 29         } catch (Exception e1) {
 30             e1.printStackTrace();
 31         }
 32         
 33         System.out.println("===================================================");
 34         
 35         try {
 36             //2、第二种方式,通过注入到Spring容器中的类进行获取到配置文件里面的配置
 37             run.getBean(UserConfig.class).getIp();
 38         } catch (BeansException e) {
 39             e.printStackTrace();
 40         }
 41         
 42         System.out.println("===================================================");
 43         
 44         
 45         try {
 46             //3、第三种方式,通过注入到Spring容器中的类进行获取到@Value注解来获取到配置文件里面的配置
 47             run.getBean(UserConfig.class).getPort();
 48         } catch (BeansException e) {
 49             e.printStackTrace();
 50         }
 51         
 52         System.out.println("===================================================");
 53         
 54         try {
 55             //4、可以以字符串类型或者整数类型获取到配置文件里面的配置信息
 56             run.getBean(UserConfig.class).getPort_2();
 57         } catch (Exception e) {
 58             e.printStackTrace();
 59         }
 60         
 61         System.out.println("===================================================");
 62         
 63         
 64         try {
 65             //5、配置文件里面变量的引用操作
 66             run.getBean(UserConfig.class).getSpringBootName();
 67         } catch (Exception e) {
 68             e.printStackTrace();
 69         }
 70         
 71         System.out.println("===================================================");
 72         
 73         try {
 74             //6、以默认值的形式获取到配置文件的信息
 75             run.getBean(UserConfig.class).getTomcatPort();
 76         } catch (Exception e) {
 77             e.printStackTrace();
 78         }
 79         
 80         System.out.println("===================================================");
 81         
 82         try {
 83             run.getBean(JdbcConfig.class).showJdbc();
 84         } catch (Exception e) {
 85             e.printStackTrace();
 86         }
 87         
 88         System.out.println("===================================================");
 89         
 90         try {
 91             run.getBean(DataSourceProperties.class).showJdbc();
 92         } catch (Exception e) {
 93             e.printStackTrace();
 94         }
 95         
 96         System.out.println("===================================================");
 97         
 98         //运行结束进行关闭操作
 99         run.close();
100     }
101     
102 
103     
104 }

2、也可以通过多配置文件的方式获取到配置文件里面的配置信息,如下所示:

 1 package com.bie.springboot;
 2 
 3 import org.springframework.context.annotation.Configuration;
 4 import org.springframework.context.annotation.PropertySource;
 5 
 6 /**
 7  * 
 8  * @Description TODO
 9  * @author biehl
10  * @Date 2018年12月30日 上午11:58:34
11  *
12  *    1、将其他的配置文件进行加载操作。
13  *        指定多个配置文件,这样可以获取到其他的配置文件的配置信息。
14  *    2、加载外部的配置。
15  *        PropertiesSource可以加载一个外部的配置,当然了,也可以注解多次。
16  *    
17  */
18 @Configuration
19 @PropertySource("classpath:jdbc.properties") //指定多个配置文件,这样可以获取到其他的配置文件的配置信息
20 @PropertySource("classpath:application.properties")
21 public class JdbcFileConfig {
22 
23     
24 }

其他的配置文件的配置信息如下所示:

1 drivername=com.mysql.jdbc.Driver
2 url=jdbc:mysql:///book
3 user=root
4 password=123456
5 
6 ds.drivername=com.mysql.jdbc.Driver
7 ds.url=jdbc:mysql:///book
8 ds.user=root
9 ds.password=123456

然后加载配置文件里面的配置信息如下所示:

运行类,见上面,不重复写了都。

 1 package com.bie.springboot;
 2 
 3 import org.springframework.beans.factory.annotation.Value;
 4 import org.springframework.stereotype.Component;
 5 
 6 /**
 7  * 
 8  * @Description TODO
 9  * @author biehl
10  * @Date 2018年12月30日 上午11:55:49
11  * 
12  * 
13  */
14 @Component
15 public class JdbcConfig {
16 
17     @Value("${drivername}")
18     private String drivername;
19     
20     @Value("${url}")
21     private String url;
22     
23     @Value("${user}")
24     private String user;
25     
26     @Value("${password}")
27     private String password;
28     
29     /**
30      * 
31      */
32     public void showJdbc() {
33         System.out.println("drivername : " + drivername 
34                 + "url : " + url 
35                 + "user : " + user 
36                 + "password : " + password);
37     }
38     
39 }
40  

3、通过获取到配置文件里面的前缀的方式也可以获取到配置文件里面的配置信息:

配置的配置文件信息,和运行的主类,在上面已经贴过来,不再叙述。

 1 package com.bie.springboot;
 2 
 3 import org.springframework.boot.context.properties.ConfigurationProperties;
 4 import org.springframework.stereotype.Component;
 5 
 6 /**
 7  * 
 8  * @Description TODO
 9  * @author biehl
10  * @Date 2018年12月30日 下午2:15:39
11  *
12  */
13 
14 @Component
15 @ConfigurationProperties(prefix="ds")
16 public class DataSourceProperties {
17 
18     private String drivername;
19     
20     private String url;
21     
22     private String user;
23     
24     private String password;
25     
26     /**
27      * 
28      */
29     public void showJdbc() {
30         System.out.println("drivername : " + drivername 
31                 + "url : " + url 
32                 + "user : " + user 
33                 + "password : " + password);
34     }
35 
36     public String getDrivername() {
37         return drivername;
38     }
39 
40     public void setDrivername(String drivername) {
41         this.drivername = drivername;
42     }
43 
44     public String getUrl() {
45         return url;
46     }
47 
48     public void setUrl(String url) {
49         this.url = url;
50     }
51 
52     public String getUser() {
53         return user;
54     }
55 
56     public void setUser(String user) {
57         this.user = user;
58     }
59 
60     public String getPassword() {
61         return password;
62     }
63 
64     public void setPassword(String password) {
65         this.password = password;
66     }
67     
68     
69 }

 运行效果如下所示:

 1 ===================================================
 2 
 3   .   ____          _            __ _ _
 4  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
 5 ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 6  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
 7   '  |____| .__|_| |_|_| |_\__, | / / / /
 8  =========|_|==============|___/=/_/_/_/
 9  :: Spring Boot ::       (v1.5.10.RELEASE)
10 
11 2018-12-30 14:36:10.116  INFO 8284 --- [           main] com.bie.Application                      : Starting Application on DESKTOP-T450s with PID 8284 (E:\eclipeswork\guoban\spring-boot-hello\target\classes started by Aiyufei in E:\eclipeswork\guoban\spring-boot-hello)
12 2018-12-30 14:36:10.121  INFO 8284 --- [           main] com.bie.Application                      : No active profile set, falling back to default profiles: default
13 2018-12-30 14:36:10.229  INFO 8284 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@140e5a13: startup date [Sun Dec 30 14:36:10 CST 2018]; root of context hierarchy
14 2018-12-30 14:36:13.451  INFO 8284 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
15 2018-12-30 14:36:13.465  INFO 8284 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
16 2018-12-30 14:36:13.467  INFO 8284 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.27
17 2018-12-30 14:36:13.650  INFO 8284 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
18 2018-12-30 14:36:13.651  INFO 8284 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3427 ms
19 2018-12-30 14:36:14.199  INFO 8284 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
20 2018-12-30 14:36:14.205  INFO 8284 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
21 2018-12-30 14:36:14.206  INFO 8284 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
22 2018-12-30 14:36:14.207  INFO 8284 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
23 2018-12-30 14:36:14.207  INFO 8284 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
24 2018-12-30 14:36:15.579  INFO 8284 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@140e5a13: startup date [Sun Dec 30 14:36:10 CST 2018]; root of context hierarchy
25 2018-12-30 14:36:15.905  INFO 8284 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello]}" onto public java.util.Map<java.lang.String, java.lang.Object> com.bie.action.HelloWorld.helloWorld()
26 2018-12-30 14:36:15.948  INFO 8284 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
27 2018-12-30 14:36:15.949  INFO 8284 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
28 2018-12-30 14:36:16.253  INFO 8284 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
29 2018-12-30 14:36:16.253  INFO 8284 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
30 2018-12-30 14:36:16.404  INFO 8284 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
31 2018-12-30 14:36:17.036  INFO 8284 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
32 2018-12-30 14:36:17.383  INFO 8284 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
33 2018-12-30 14:36:17.394  INFO 8284 --- [           main] com.bie.Application                      : Started Application in 7.831 seconds (JVM running for 8.598)
34 127.0.0.1
35 ===================================================
36 local.ip = 127.0.0.1
37 ===================================================
38 local.port = 8080
39 ===================================================
40 local.port = 8080
41 local.port = 8080
42 ===================================================
43 Spring is springBoot
44 SpringBoot this is springBoot
45 ===================================================
46 tomcat port is 9090
47 ===================================================
48 drivername : com.mysql.jdbc.Driverurl : jdbc:mysql:///bookuser : rootpassword : 123456
49 ===================================================
50 drivername : com.mysql.jdbc.Driverurl : jdbc:mysql:///bookuser : rootpassword : 123456
51 ===================================================
52 2018-12-30 14:36:17.403  INFO 8284 --- [           main] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@140e5a13: startup date [Sun Dec 30 14:36:10 CST 2018]; root of context hierarchy
53 2018-12-30 14:36:17.405  INFO 8284 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown

4、SpringBoot注入集合、数组的操作如下所示:

 1 package com.bie.springboot;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Arrays;
 5 import java.util.List;
 6 
 7 import org.springframework.boot.context.properties.ConfigurationProperties;
 8 import org.springframework.stereotype.Component;
 9 
10 /**
11  * 
12  * @Description TODO
13  * @author biehl
14  * @Date 2018年12月30日 下午2:51:05 
15  * 1、注入集合
16  *     支持获取数组,集合。配置方式为:name[index]=value
17  */
18 @Component
19 @ConfigurationProperties(prefix = "ds")
20 public class TomcatProperties {
21 
22     private List<String> hosts = new ArrayList<String>();
23     private String[] ports;
24 
25     public List<String> getHosts() {
26         return hosts;
27     }
28 
29     public void setHosts(List<String> hosts) {
30         this.hosts = hosts;
31     }
32 
33     public String[] getPorts() {
34         return ports;
35     }
36 
37     public void setPorts(String[] ports) {
38         this.ports = ports;
39     }
40 
41     @Override
42     public String toString() {
43         return "TomcatProperties [hosts=" + hosts.toString() + ", ports=" + Arrays.toString(ports) + "]";
44     }
45 
46     
47 
48 }

默认的配置文件application.properties的内容如下所示:

1 ds.hosts[0]=192.168.11.11
2 ds.hosts[1]=192.168.11.12
3 ds.hosts[2]=192.168.11.13
4 #ds.hosts[3]=192.168.11.14
5 #ds.hosts[4]=192.168.11.15
6 
7 ds.ports[0]=8080
8 ds.ports[1]=8070
9 ds.ports[2]=8090

主类如下所示:

 1 package com.bie;
 2 
 3 import org.springframework.beans.BeansException;
 4 import org.springframework.boot.SpringApplication;
 5 import org.springframework.boot.autoconfigure.SpringBootApplication;
 6 import org.springframework.context.ConfigurableApplicationContext;
 7 
 8 import com.bie.springboot.DataSourceProperties;
 9 import com.bie.springboot.JdbcConfig;
10 import com.bie.springboot.TomcatProperties;
11 import com.bie.springboot.UserConfig;
12 
13 /**
14  * 
15  * @Description TODO
16  * @author biehl
17  * @Date 2018年12月30日 上午10:44:35
18  *
19  */
20 @SpringBootApplication
21 public class Application {
22 
23     public static void main(String[] args) {
24         ConfigurableApplicationContext run = SpringApplication.run(Application.class, args);
25         
26         System.out.println("===================================================");
27 
28         try { 
29             // 注入集合
30             TomcatProperties bean = run.getBean(TomcatProperties.class);
31             System.out.println(bean);
32         } catch (Exception e) {
33             e.printStackTrace();
34         }
35 
36         System.out.println("===================================================");
37 
38         // 运行结束进行关闭操作
39         run.close();
40     }
41 
42 }

 

待续......
 

转载于:https://www.cnblogs.com/biehongli/p/10198907.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30591551/article/details/98423335

智能推荐

获取大于等于一个整数的最小2次幂算法(HashMap#tableSizeFor)_整数 最小的2的几次方-程序员宅基地

文章浏览阅读2w次,点赞51次,收藏33次。一、需求给定一个整数,返回大于等于该整数的最小2次幂(2的乘方)。例: 输入 输出 -1 1 1 1 3 4 9 16 15 16二、分析当遇到这个需求的时候,我们可能会很容易想到一个"笨"办法:..._整数 最小的2的几次方

Linux 中 ss 命令的使用实例_ss@,,x,, 0-程序员宅基地

文章浏览阅读865次。选项,以防止命令将 IP 地址解析为主机名。如果只想在命令的输出中显示 unix套接字 连接,可以使用。不带任何选项,用来显示已建立连接的所有套接字的列表。如果只想在命令的输出中显示 tcp 连接,可以使用。如果只想在命令的输出中显示 udp 连接,可以使用。如果不想将ip地址解析为主机名称,可以使用。如果要取消命令输出中的标题行,可以使用。如果只想显示被侦听的套接字,可以使用。如果只想显示ipv4侦听的,可以使用。如果只想显示ipv6侦听的,可以使用。_ss@,,x,, 0

conda activate qiuqiu出现不存在activate_commandnotfounderror: 'activate-程序员宅基地

文章浏览阅读568次。CommandNotFoundError: 'activate'_commandnotfounderror: 'activate

Kafka 实战 - Windows10安装Kafka_win10安装部署kafka-程序员宅基地

文章浏览阅读426次,点赞10次,收藏19次。完成以上步骤后,您已在 Windows 10 上成功安装并验证了 Apache Kafka。在生产环境中,通常会将 Kafka 与外部 ZooKeeper 集群配合使用,并考虑配置安全、监控、持久化存储等高级特性。在生产者窗口中输入一些文本消息,然后按 Enter 发送。ZooKeeper 会在新窗口中运行。在另一个命令提示符窗口中,同样切换到 Kafka 的。Kafka 服务器将在新窗口中运行。在新的命令提示符窗口中,切换到 Kafka 的。,应显示已安装的 Java 版本信息。_win10安装部署kafka

【愚公系列】2023年12月 WEBGL专题-缓冲区对象_js 缓冲数据 new float32array-程序员宅基地

文章浏览阅读1.4w次。缓冲区对象(Buffer Object)是在OpenGL中用于存储和管理数据的一种机制。缓冲区对象可以存储各种类型的数据,例如顶点、纹理坐标、颜色等。在渲染过程中,缓冲区对象中存储的数据可以被复制到渲染管线的不同阶段中,例如顶点着色器、几何着色器和片段着色器等,以完成渲染操作。相比传统的CPU访问内存,缓冲区对象的数据存储和管理更加高效,能够提高OpenGL应用的性能表现。_js 缓冲数据 new float32array

四、数学建模之图与网络模型_图论与网络优化数学建模-程序员宅基地

文章浏览阅读912次。(1)图(Graph):图是数学和计算机科学中的一个抽象概念,它由一组节点(顶点)和连接这些节点的边组成。图可以是有向的(有方向的,边有箭头表示方向)或无向的(没有方向的,边没有箭头表示方向)。图用于表示各种关系,如社交网络、电路、地图、组织结构等。(2)网络(Network):网络是一个更广泛的概念,可以包括各种不同类型的连接元素,不仅仅是图中的节点和边。网络可以包括节点、边、连接线、路由器、服务器、通信协议等多种组成部分。网络的概念在各个领域都有应用,包括计算机网络、社交网络、电力网络、交通网络等。_图论与网络优化数学建模

随便推点

android 加载布局状态封装_adnroid加载数据转圈封装全屏转圈封装-程序员宅基地

文章浏览阅读1.5k次。我们经常会碰见 正在加载中,加载出错, “暂无商品”等一系列的相似的布局,因为我们有很多请求网络数据的页面,我们不可能每一个页面都写几个“正在加载中”等布局吧,这时候将这些状态的布局封装在一起就很有必要了。我们可以将这些封装为一个自定布局,然后每次操作该自定义类的方法就行了。 首先一般来说,从服务器拉去数据之前都是“正在加载”页面, 加载成功之后“正在加载”页面消失,展示数据;如果加载失败,就展示_adnroid加载数据转圈封装全屏转圈封装

阿里云服务器(Alibaba Cloud Linux 3)安装部署Mysql8-程序员宅基地

文章浏览阅读1.6k次,点赞23次,收藏29次。PS: 如果执行sudo grep 'temporary password' /var/log/mysqld.log 后没有报错,也没有任何结果显示,说明默认密码为空,可以直接进行下一步(后面设置密码时直接填写新密码就行)。3.(可选)当操作系统为Alibaba Cloud Linux 3时,执行如下命令,安装MySQL所需的库文件。下面示例中,将创建新的MySQL账号,用于远程访问MySQL。2.依次运行以下命令,创建远程登录MySQL的账号,并允许远程主机使用该账号访问MySQL。_alibaba cloud linux 3

excel离散度图表怎么算_excel离散数据表格-Excel 离散程度分析图表如何做-程序员宅基地

文章浏览阅读7.8k次。EXCEL中数据如何做离散性分析纠错。离散不是均值抄AVEDEV……=AVEDEV(A1:A100)算出来的是A1:A100的平均数。离散是指各项目间指标袭的离散均值(各数值的波动情况),数值较低表明项目间各指标波动幅百度小,数值高表明波动幅度较大。可以用excel中的离散公式为STDEV.P(即各指标平均离散)算出最终度离散度。excel表格函数求一组离散型数据,例如,几组C25的...用exc..._excel数据分析离散

学生时期学习资源同步-JavaSE理论知识-程序员宅基地

文章浏览阅读406次,点赞7次,收藏8次。i < 5){ //第3行。int count;System.out.println ("危险!System.out.println(”真”);System.out.println(”假”);System.out.print(“姓名:”);System.out.println("无匹配");System.out.println ("安全");

linux 性能测试磁盘状态监测:iostat监控学习,包含/proc/diskstats、/proc/stat简单了解-程序员宅基地

文章浏览阅读3.6k次。背景测试到性能、压力时,经常需要查看磁盘、网络、内存、cpu的性能值这里简单介绍下各个指标的含义一般磁盘比较关注的就是磁盘的iops,读写速度以及%util(看磁盘是否忙碌)CPU一般比较关注,idle 空闲,有时候也查看wait (如果wait特别大往往是io这边已经达到了瓶颈)iostatiostat uses the files below to create ..._/proc/diskstat

glReadPixels读取保存图片全黑_glreadpixels 全黑-程序员宅基地

文章浏览阅读2.4k次。问题:在Android上使用 glReadPixel 读取当前渲染数据,在若干机型(华为P9以及魅族某魅蓝手机)上读取数据失败,glGetError()没有抓到错误,但是获取到的数据有误,如果将获取到的数据保存成为图片,得到的图片为黑色。解决方法:glReadPixels实际上是从缓冲区中读取数据,如果使用了双缓冲区,则默认是从正在显示的缓冲(即前缓冲)中读取,而绘制工作是默认绘制到后缓..._glreadpixels 全黑