配置好了dataSource之后,想测试一下有没有配置成功

package com.yang.Controller;

import com.alibaba.druid.pool.DruidDataSource;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

/**

* Created by Yang on 2017/6/6.

*/

@RestController

public class TestController {

@Autowired

private DruidDataSource dataSource;

@RequestMapping("/hello")

public String index() {

String sql = "select * from reader;";

String str = "";

PreparedStatement ps = null;

ResultSet rs = null;

try {

ps = dataSource.getConnection().prepareStatement(sql);

rs = ps.executeQuery();

while (rs.next()){

str = rs.getString(2);

}

} catch (SQLException e) {

e.printStackTrace();

}

return str;

}

}

这个TestController是可以跑成功的,我想把dataSource.getConnection()再封装一下

package com.yang.Utils;

import com.alibaba.druid.pool.DruidDataSource;

import com.alibaba.druid.pool.DruidPooledConnection;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Component;

import java.sql.SQLException;

/**

* Created by Yang on 2017/6/6.

*/

public class ConnectionManager {

private Logger logger = LoggerFactory.getLogger(ConnectionManager.class);

@Autowired

private DruidDataSource dataSource;

private static volatile ConnectionManager connectionManager;

private ConnectionManager(){}

public static ConnectionManager getInstance(){

if(connectionManager == null){

synchronized (ConnectionManager.class){

if(connectionManager == null){

connectionManager = new ConnectionManager();

}

}

}

return connectionManager;

}

public DruidPooledConnection getConn(){

DruidPooledConnection conn = null;

try {

conn = dataSource.getConnection();

} catch (SQLException e) {

logger.error("get connection error,the connection is null", e);

e.printStackTrace();

}

return conn;

}

}

写了这个ConnectionManager,但是在这个类里面,dataSource是null,不知道怎么回事,想请教一下大家。

另外还有一个问题,在使用Spring Boot的时候,如何进行单元测试,我开始用单元测试测试一个ConnectionManager,但是一直不成功

D:\Java\jdk_8u92\bin\java -Dspring.output.ansi.enabled=always -Didea.launcher.port=7532 "-Didea.launcher.bin.path=D:\develop\idea\IntelliJ IDEA 2016.2.5\bin" -Dfile.encoding=UTF-8 -classpath "D:\environment\Java\jdk_8u92\jre\lib\charsets.jar;D:\environment\Java\jdk_8u92\jre\lib\deploy.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\access-bridge-64.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\cldrdata.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\dnsns.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\jaccess.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\jfxrt.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\localedata.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\nashorn.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\sunec.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\sunjce_provider.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\sunmscapi.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\sunpkcs11.jar;D:\environment\Java\jdk_8u92\jre\lib\ext\zipfs.jar;D:\environment\Java\jdk_8u92\jre\lib\javaws.jar;D:\environment\Java\jdk_8u92\jre\lib\jce.jar;D:\environment\Java\jdk_8u92\jre\lib\jfr.jar;D:\environment\Java\jdk_8u92\jre\lib\jfxswt.jar;D:\environment\Java\jdk_8u92\jre\lib\jsse.jar;D:\environment\Java\jdk_8u92\jre\lib\management-agent.jar;D:\environment\Java\jdk_8u92\jre\lib\plugin.jar;D:\environment\Java\jdk_8u92\jre\lib\resources.jar;D:\environment\Java\jdk_8u92\jre\lib\rt.jar;E:\myJava\LibraryManager\target\classes;D:\environment\maven\repository\org\springframework\boot\spring-boot-starter\1.4.1.RELEASE\spring-boot-starter-1.4.1.RELEASE.jar;D:\environment\maven\repository\org\springframework\boot\spring-boot\1.4.1.RELEASE\spring-boot-1.4.1.RELEASE.jar;D:\environment\maven\repository\org\springframework\spring-core\4.3.3.RELEASE\spring-core-4.3.3.RELEASE.jar;D:\environment\maven\repository\org\springframework\spring-context\4.3.3.RELEASE\spring-context-4.3.3.RELEASE.jar;D:\environment\maven\repository\org\springframework\spring-aop\4.3.3.RELEASE\spring-aop-4.3.3.RELEASE.jar;D:\environment\maven\repository\org\springframework\spring-beans\4.3.3.RELEASE\spring-beans-4.3.3.RELEASE.jar;D:\environment\maven\repository\org\springframework\spring-expression\4.3.3.RELEASE\spring-expression-4.3.3.RELEASE.jar;D:\environment\maven\repository\org\springframework\boot\spring-boot-autoconfigure\1.4.1.RELEASE\spring-boot-autoconfigure-1.4.1.RELEASE.jar;D:\environment\maven\repository\org\springframework\boot\spring-boot-starter-logging\1.4.1.RELEASE\spring-boot-starter-logging-1.4.1.RELEASE.jar;D:\environment\maven\repository\ch\qos\logback\logback-classic\1.1.7\logback-classic-1.1.7.jar;D:\environment\maven\repository\ch\qos\logback\logback-core\1.1.7\logback-core-1.1.7.jar;D:\environment\maven\repository\org\slf4j\slf4j-api\1.7.21\slf4j-api-1.7.21.jar;D:\environment\maven\repository\org\slf4j\jcl-over-slf4j\1.7.21\jcl-over-slf4j-1.7.21.jar;D:\environment\maven\repository\org\slf4j\jul-to-slf4j\1.7.21\jul-to-slf4j-1.7.21.jar;D:\environment\maven\repository\org\slf4j\log4j-over-slf4j\1.7.21\log4j-over-slf4j-1.7.21.jar;D:\environment\maven\repository\org\yaml\snakeyaml\1.17\snakeyaml-1.17.jar;D:\environment\maven\repository\junit\junit\4.10\junit-4.10.jar;D:\environment\maven\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;D:\environment\maven\repository\org\springframework\boot\spring-boot-starter-web\1.4.1.RELEASE\spring-boot-starter-web-1.4.1.RELEASE.jar;D:\environment\maven\repository\org\springframework\boot\spring-boot-starter-tomcat\1.4.1.RELEASE\spring-boot-starter-tomcat-1.4.1.RELEASE.jar;D:\environment\maven\repository\org\apache\tomcat\embed\tomcat-embed-core\8.5.5\tomcat-embed-core-8.5.5.jar;D:\environment\maven\repository\org\apache\tomcat\embed\tomcat-embed-el\8.5.5\tomcat-embed-el-8.5.5.jar;D:\environment\maven\repository\org\apache\tomcat\embed\tomcat-embed-websocket\8.5.5\tomcat-embed-websocket-8.5.5.jar;D:\environment\maven\repository\org\hibernate\hibernate-validator\5.2.4.Final\hibernate-validator-5.2.4.Final.jar;D:\environment\maven\repository\javax\validation\validation-api\1.1.0.Final\validation-api-1.1.0.Final.jar;D:\environment\maven\repository\org\jboss\logging\jboss-logging\3.3.0.Final\jboss-logging-3.3.0.Final.jar;D:\environment\maven\repository\com\fasterxml\classmate\1.3.1\classmate-1.3.1.jar;D:\environment\maven\repository\com\fasterxml\jackson\core\jackson-databind\2.8.3\jackson-databind-2.8.3.jar;D:\environment\maven\repository\com\fasterxml\jackson\core\jackson-annotations\2.8.3\jackson-annotations-2.8.3.jar;D:\environment\maven\repository\com\fasterxml\jackson\core\jackson-core\2.8.3\jackson-core-2.8.3.jar;D:\environment\maven\repository\org\springframework\spring-web\4.3.3.RELEASE\spring-web-4.3.3.RELEASE.jar;D:\environment\maven\repository\org\springframework\spring-webmvc\4.3.3.RELEASE\spring-webmvc-4.3.3.RELEASE.jar;D:\environment\maven\repository\org\mybatis\spring\boot\mybatis-spring-boot-starter\1.1.1\mybatis-spring-boot-starter-1.1.1.jar;D:\environment\maven\repository\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\1.1.1\mybatis-spring-boot-autoconfigure-1.1.1.jar;D:\environment\maven\repository\org\mybatis\mybatis\3.4.0\mybatis-3.4.0.jar;D:\environment\maven\repository\org\mybatis\mybatis-spring\1.3.0\mybatis-spring-1.3.0.jar;D:\environment\maven\repository\org\springframework\boot\spring-boot-starter-jdbc\1.4.1.RELEASE\spring-boot-starter-jdbc-1.4.1.RELEASE.jar;D:\environment\maven\repository\org\apache\tomcat\tomcat-jdbc\8.5.5\tomcat-jdbc-8.5.5.jar;D:\environment\maven\repository\org\apache\tomcat\tomcat-juli\8.5.5\tomcat-juli-8.5.5.jar;D:\environment\maven\repository\org\springframework\spring-jdbc\4.3.3.RELEASE\spring-jdbc-4.3.3.RELEASE.jar;D:\environment\maven\repository\org\springframework\spring-tx\4.3.3.RELEASE\spring-tx-4.3.3.RELEASE.jar;D:\environment\maven\repository\mysql\mysql-connector-java\5.1.39\mysql-connector-java-5.1.39.jar;D:\environment\maven\repository\org\springframework\boot\spring-boot-devtools\1.4.1.RELEASE\spring-boot-devtools-1.4.1.RELEASE.jar;D:\environment\maven\repository\com\alibaba\druid\1.0.29\druid-1.0.29.jar;D:\environment\Java\jdk_8u92\jre\..\lib\jconsole.jar;D:\environment\Java\jdk_8u92\jre\..\lib\tools.jar;D:\develop\idea\IntelliJ IDEA 2016.2.5\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.yang.Application

. ____ _ __ _ _

/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \

( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \

\\/ ___)| |_)| | | | | || (_| | ) ) ) )

' |____| .__|_| |_|_| |_\__, | / / / /

=========|_|==============|___/=/_/_/_/

:: Spring Boot :: (v1.4.1.RELEASE)

2017-06-06 23:18:44.851 INFO 52496 --- [ restartedMain] com.yang.Application : Starting Application on Yang with PID 52496 (E:\myJava\LibraryManager\target\classes started by Yang in E:\myJava\LibraryManager)

2017-06-06 23:18:44.856 INFO 52496 --- [ restartedMain] com.yang.Application : No active profile set, falling back to default profiles: default

2017-06-06 23:18:45.257 INFO 52496 --- [ restartedMain] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@46a9c0: startup date [Tue Jun 06 23:18:45 CST 2017]; root of context hierarchy

2017-06-06 23:18:47.356 WARN 52496 --- [ restartedMain] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[com.yang.Mapper]' package. Please check your configuration.

2017-06-06 23:18:47.674 WARN 52496 --- [ restartedMain] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[com.yang]' package. Please check your configuration.

2017-06-06 23:18:48.316 INFO 52496 --- [ restartedMain] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [class org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$7d3489f7] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

2017-06-06 23:18:49.813 INFO 52496 --- [ restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)

2017-06-06 23:18:49.835 INFO 52496 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service Tomcat

2017-06-06 23:18:49.837 INFO 52496 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.5

2017-06-06 23:18:50.072 INFO 52496 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext

2017-06-06 23:18:50.072 INFO 52496 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 4821 ms

2017-06-06 23:18:50.448 INFO 52496 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]

2017-06-06 23:18:50.456 INFO 52496 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]

2017-06-06 23:18:50.457 INFO 52496 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]

2017-06-06 23:18:50.457 INFO 52496 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]

2017-06-06 23:18:50.457 INFO 52496 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]

2017-06-06 23:18:50.609 WARN 52496 --- [ restartedMain] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'connectionManager': Unsatisfied dependency expressed through field 'dataSource'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean found for dependency [com.alibaba.druid.pool.DruidDataSource]: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

2017-06-06 23:18:50.616 INFO 52496 --- [ restartedMain] o.apache.catalina.core.StandardService : Stopping service Tomcat

2017-06-06 23:18:50.650 WARN 52496 --- [ost-startStop-1] o.a.c.loader.WebappClassLoaderBase : The web application [ROOT] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

java.lang.Object.wait(Native Method)

java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)

com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)

2017-06-06 23:18:50.685 INFO 52496 --- [ restartedMain] utoConfigurationReportLoggingInitializer :

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.

2017-06-06 23:18:50.984 ERROR 52496 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :

***************************

APPLICATION FAILED TO START

***************************

Description:

Field dataSource in com.yang.Utils.ConnectionManager required a bean of type 'com.alibaba.druid.pool.DruidDataSource' that could not be found.

Action:

Consider defining a bean of type 'com.alibaba.druid.pool.DruidDataSource' in your configuration.

Process finished with exit code 0

package com.yang.Configuration;

import com.alibaba.druid.pool.DruidDataSource;

import com.alibaba.druid.support.http.StatViewServlet;

import com.alibaba.druid.support.http.WebStatFilter;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

import org.springframework.boot.web.servlet.FilterRegistrationBean;

import org.springframework.boot.web.servlet.ServletRegistrationBean;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.context.annotation.Primary;

import java.sql.SQLException;

import java.util.HashMap;

import java.util.Map;

/**

* Created by Yang on 2017/6/6.

*/

@Configuration

@EnableAutoConfiguration

public class DruidDBConfig {

private Logger logger = LoggerFactory.getLogger(DruidDBConfig.class);

@Value("${spring.datasource.url}")

private String dbUrl;

@Value("${spring.datasource.username}")

private String username;

@Value("${spring.datasource.password}")

private String password;

@Value("${spring.datasource.driverClassName}")

private String driverClassName;

@Value("${spring.datasource.initialSize}")

private int initialSize;

@Value("${spring.datasource.minIdle}")

private int minIdle;

@Value("${spring.datasource.maxActive}")

private int maxActive;

@Value("${spring.datasource.maxWait}")

private int maxWait;

@Value("${spring.datasource.timeBetweenEvictionRunsMillis}")

private int timeBetweenEvictionRunsMillis;

@Value("${spring.datasource.minEvictableIdleTimeMillis}")

private int minEvictableIdleTimeMillis;

@Value("${spring.datasource.validationQuery}")

private String validationQuery;

@Value("${spring.datasource.testWhileIdle}")

private boolean testWhileIdle;

@Value("${spring.datasource.testOnBorrow}")

private boolean testOnBorrow;

@Value("${spring.datasource.testOnReturn}")

private boolean testOnReturn;

@Value("${spring.datasource.poolPreparedStatements}")

private boolean poolPreparedStatements;

@Value("${spring.datasource.maxPoolPreparedStatementPerConnectionSize}")

private int maxPoolPreparedStatementPerConnectionSize;

@Value("${spring.datasource.filters}")

private String filters;

@Value("{spring.datasource.connectionProperties}")

private String connectionProperties;

@Bean //声明其为Bean实例

@Primary //在同样的DataSource中,首先使用被标注的DataSource

public DruidDataSource dataSource(){

DruidDataSource datasource = new DruidDataSource();

datasource.setUrl(this.dbUrl);

datasource.setUsername(username);

datasource.setPassword(password);

datasource.setDriverClassName(driverClassName);

//configuration

datasource.setInitialSize(initialSize);

datasource.setMinIdle(minIdle);

datasource.setMaxActive(maxActive);

datasource.setMaxWait(maxWait);

datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);

datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);

datasource.setValidationQuery(validationQuery);

datasource.setTestWhileIdle(testWhileIdle);

datasource.setTestOnBorrow(testOnBorrow);

datasource.setTestOnReturn(testOnReturn);

datasource.setPoolPreparedStatements(poolPreparedStatements);

datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);

try {

datasource.setFilters(filters);

} catch (SQLException e) {

logger.error("druid configuration initialization filter", e);

}

datasource.setConnectionProperties(connectionProperties);

return datasource;

}

@Bean

public ServletRegistrationBean druidServletRegistrationBean() {

ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();

servletRegistrationBean.setServlet(new StatViewServlet());

servletRegistrationBean.addUrlMappings("/druid/*");

return servletRegistrationBean;

}

/**

* 注册DruidFilter拦截

*

* @return

*/

@Bean

public FilterRegistrationBean duridFilterRegistrationBean() {

FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();

filterRegistrationBean.setFilter(new WebStatFilter());

Map initParams = new HashMap();

//设置忽略请求

initParams.put("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*");

filterRegistrationBean.setInitParameters(initParams);

filterRegistrationBean.addUrlPatterns("/*");

return filterRegistrationBean;

}

}

java was datasource_使用Spring Boot配置Druid时dataSource无法被autowired相关推荐

  1. spring boot配置druid(德鲁伊)

    spring boot配置druid(德鲁伊) 关于druid的介绍请看 阿里巴巴温少访谈 1.引入相关依赖,全部依赖是上一篇spring boot+mybatis依赖的基础上,再加上下边的依赖,如下 ...

  2. Spring Boot配置druid监控页功能

    1.导入坐标 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...

  3. spring boot配置druid

    为什么80%的码农都做不了架构师?>>>    在pom中添加starter依赖 <dependency><groupId>com.alibaba</g ...

  4. spring boot 配置 druid的filters时报错 Reason: org.apache.log4j.Priority

    报错信息: Failed to bind properties under 'spring.datasource.druid' to javax.sql.DataSource: Property: s ...

  5. spring boot 配置网关时404错误_网关Spring Cloud Gateway科普

    Spring Cloud Gateway是在Spring生态系统之上构建的API网关服务,它旨在提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能, 例如:熔断.限流.重试等. ...

  6. spring boot 配置网关时404错误_Kong中使用grpcweb插件代理grpc服务时遇到的坑

    在大型分布式系统中,有很多的微服务对外提供服务,也会有各种微服务的协议需要集成,比如http,https,grpc的,这时就需要一个API网关提供高性能.高可用的API托管服务,帮助服务的开发者便捷地 ...

  7. druid监控页面_Spring boot学习(四)Spring boot整合Druid

    前言 在上一篇博客中我们介绍了Spring boot配置Mybatis,但是并没有配置连接池,这在实际开发过程中肯定是不切实际的,多次的数据库连接会给程序和数据库都带来没必要的负担,这一篇博客我将介绍 ...

  8. java报错空指针异常_分析使用Spring Boot进行单元测试时,报出空指针异常

    使用Spring Boot进行单元测试时,发现使用@Autowired注解的类无法自动注入,当使用这个类的实例的时候,报出NullPointerException,即空指针异常. Spring Boo ...

  9. Spring Boot下Druid连接池的使用配置分析

    引言: 在Spring Boot下默认提供了若干种可用的连接池,Druid来自于阿里系的一个开源连接池,在连接池之外,还提供了非常优秀的监控功能,这里讲解如何与Spring Boot实现集成. 1.  ...

最新文章

  1. 程序连接不上mysql数据库文件_数据库问题(程序连接mysql错误)
  2. Linux学习---Day02
  3. 如何用 React Native 创建一个iOS APP?(二)
  4. 后端生成Token架构与设计详解
  5. 每天一道LeetCode-----在字符方格中查找某个单词
  6. 从资源池和管理的角度理解物理内存
  7. 雷电3接口能干嘛_acasis阿卡西斯推出首款雷电3接口WIFI6网卡:内置Intel AX200
  8. Type safety: The method add(Object) belongs to the raw type List. References to generic type List<E>
  9. 这次是16.7亿元!新能源汽车骗补何时休?
  10. BZOJ2754 [SCOI2012]喵星球上的点名
  11. directx9 截屏
  12. HDAO 全新项目落地,带动区块链新一轮牛市
  13. 【T3】运行时错误3709
  14. php中划弧线,cad画弧形的快捷键是什么?如何画弧形?
  15. CVPR2019论文列表(中英对照)
  16. 1075:字符串统计
  17. Typora MarkDown语法
  18. Delphi名称的由来(原作:Borland公司Danny Thorpe)
  19. 安装xmanager linux系统,xmanager linux版
  20. 软件测试面试题全网独家没有之一的资深测试工程师面试题集锦

热门文章

  1. linux下防火墙加白名单
  2. java startswith忽略大小写_Java String startsWith()方法与示例
  3. 用c语言编写黎曼积分计算pi,C语言实现黎曼和求定积分
  4. Lucene下载及测试
  5. python可变长参数(非关键字及关键字参数)
  6. javascript网页精华代码集
  7. 隐藏滚动条,保留鼠标滚动效果
  8. 软件工程--需求分析
  9. 局域网内同时使用两台路由器的配置方法
  10. 万万没想到,一个可执行文件原来包含了这么多信息!