Spring Boot 和 testNG 和 eclipse背景色

  1. 云栖社区>
  2. 博客>
  3. 正文

Spring Boot 和 testNG 和 eclipse背景色

pandamonica 2017-09-19 21:59:59 浏览969 评论0

摘要: 通过之前的博文,我们已经验证,Spring环境下完成access数据访问没有问题。下面我们直接在Spring环境下部署我们的升级项目。 1.导入Spring Boot Spring Boot是Spring的子项目,用来解决项目配置复杂性的问题,降低Spring的使用门槛使得开发人员专注于核心业务,而基础设施建设交给Spring Boot。

通过之前的博文,我们已经验证,Spring环境下完成access数据访问没有问题。下面我们直接在Spring环境下部署我们的升级项目。
1.导入Spring Boot
Spring Boot是Spring的子项目,用来解决项目配置复杂性的问题,降低Spring的使用门槛使得开发人员专注于核心业务,而基础设施建设交给Spring Boot。

正如教材所言,使用eclipse构建一个基于maven的web项目,需要在POM中引入spring-mvc spring-webmvc jackson tomcat等依赖;但是用上了Spring Boot之后,就只需要引用一个spring-boot-starter-web就可以了
基于maven配置Spring Boot
_
_
依照上2图在项目的POM文件中,导入上述两个内容
_

_

也就是说,通过导入Spring Boot ,在POM文件中仅仅添加了很少的语句,就为ruku项目添加了必须的依赖

由于我们预定使用JdbcTemplate所以接下来按照Spring Boot的方式,我们还要导入spring-boot-starter-jdbc
_
其实从上图就可以看出来Spring Boot的简洁之处,第一条是它,下面几条是之前手动导入的,如果项目最初就这么干,POM的这一部分看上去会更加简洁。
但是,经过上述配置后,自己项目中的maven dependencies变得太JB多了,看都看不过来,有点后悔,应该精细操作的,算了,接续弄。
现在我们已经为我们的项目,maven项目导入了需要的依赖,下面准备开始编码和配置。
首先强调一点:maven项目中的配置文件,资源文件,都放在同一个目录中,也就是resources文件夹下,如下图所示:
_
以后有properties文件或者spring的配置文件,都要放在这个文件夹下。
2.除去Spring Boot
Spring Boot尽管十分便捷,但是它适用于快速开发配置,我需要它吗?我不需要。就像我不需要有额外的功能帮我创建Domain Object一样,我宁愿自己写Domain Object,也愿意自己写注册、注入的代码。
因为,我目前的技术水平,我认为目前,不应该用Spring Boot。

看,我除去了POM中的相关配置语句,世界清静了
_

3.Spring配置文件
我们的工作,需要测试,testNG
首先为eclipse导入testNG的plugin
_
_
_
_
_
添加了testNG以后我们new一个eclipse项目的时候如下图:
_
可以创建testNG项目了
再看看help eclipse maket
_
_
已经安装了,开心吧
不得不说,为eclipse安装testNG这个过程很慢,可能是源那边的网速比较慢吧
在eclipse上配置完testNG之后,看看自己的eclipse

在test目录下创建和main中一样的目录结构,写测试class,然后右键run的时候发现有了testNG这个选项。通常情况下testNG的java代码形式如下所示

package com.infotech.access.dao;

import java.util.Date;
import org.springframework.test.context.testng.AbstractTransactionalTestNGSpringContextTests;
import org.testng.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;

import com.infotech.access.domain.CheckedList;
import static org.testng.Assert.*;
//加载spring的配置文件,让testNG在测试的过程中可以使用spring
@ContextConfiguration("classpath*:/ruku-context.xml")
public class CheckedlistDaoTest extends AbstractTransactionalTestNGSpringContextTests{
    //
    private CheckedlistDao cld;
    
    @Autowired
    public void setCheckedlistDao(CheckedlistDao cldlocal){
        this.cld = cldlocal;
    }

    @Test
    public void testAcess() {
        
        String sb1 = this.cld.getData("1");
        System.out.println(sb1);
        
    }
    
}

赶紧改eclipse中console的背景色
_
然后改eclipse中editor的背景色
_
接着修改editor中代码的字体颜色
_

再不改,非看瞎了不可

接下来遇到一个mysql数据库连接的问题,我认为我的代码和spring配置文件中的url之类的都没有写错,但是报错如下:


FAILED CONFIGURATION: @BeforeMethod springTestContextBeforeTestMethod(public void com.infotech.access.dao.CheckedlistDaoTest.testAcess())
org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'WIN-ICTFSVLNOJE' (using password: YES))
    at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:289)

_
反正就是无法创建jdbc链接
同一个mysql服务器,可以在url中使用localhost或者127.0.0.1去访问但是不能用这个服务器真正的ip地址访问。
这是mysql自身权限配置的问题,进入mysql的命令行,设置权限如下图:
QQ_20170927143935

【云栖快讯】一站式开发者服务,海量学习资源免费学  详情请点击

网友评论