我对该项目的想法是使用Gradle编写一个简单的Spring纯Java应用程序,它将连接到DB2数据库并提取一些数据并在控制台上打印.首先,我使用Eclipse Luna创建了一个Gradle项目.我的挑战:如何读取src / main / resource...
我对该项目的想法是使用Gradle编写一个简单的Spring纯Java应用程序,它将连接到DB2数据库并提取一些数据并在控制台上打印.
首先,我使用Eclipse Luna创建了一个Gradle项目.
我的挑战:
>如何读取src / main / resources中具有db.driver,db.url,db.username和db.password的database.properties文件?
>我如何告诉Gradle为驱动程序选择db2cc4.jar?我无法使用Gradle依赖项来管理它,因为它是一个专有的jar.
这是我的build.gradle
apply plugin: 'java'
apply plugin: 'eclipse'
repositories {
mavenCentral()
}
jar {
baseName = 'QueryExecutor'
version = '0.1.0'
}
dependencies {
compile 'org.springframework:spring-context:4.1.0.RELEASE'
compile 'org.springframework:spring-jdbc:4.1.0.RELEASE'
runtime files('lib/db2cc4.jar')
testCompile 'junit:junit:4.+'
}
task wrapper(type: Wrapper) {
gradleVersion = '2.1'
}
这是我的ApplicationConfig.java
import javax.annotation.Resource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
import org.shrinathk.queryexecutor.persistence.QueryExecutorDAO;
@Configuration
@Import({DatabaseConfig.class})
@PropertySource("classpath:application.properties")
@PropertySource("classpath:database.properties")
public class ApplicationConfig
{
@Resource
private Environment env;
@Bean
public QueryExecutorDAO queryExecutor()
{
return new org.shrinathk.queryexecutor.persistence.QueryExecutorDAO();
}
}
这是我的DatabaseConfig.java
import javax.annotation.Resource;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableTransactionManagement
public class DatabaseConfig
{
private static final String PROPERTY_NAME_DATABASE_DRIVER = "db.driver";
private static final String PROPERTY_NAME_DATABASE_URL = "db.url";
private static final String PROPERTY_NAME_DATABASE_USERNAME = "db.username";
private static final String PROPERTY_NAME_DATABASE_PASSWORD = "db.password";
@Resource
private Environment env;
@Bean
public DataSource dataSource()
{
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(env.getRequiredProperty(PROPERTY_NAME_DATABASE_DRIVER));
dataSource.setUrl(env.getRequiredProperty(PROPERTY_NAME_DATABASE_URL));
dataSource.setUsername(env.getRequiredProperty(PROPERTY_NAME_DATABASE_USERNAME));
dataSource.setPassword(env.getRequiredProperty(PROPERTY_NAME_DATABASE_PASSWORD));
return dataSource;
}
}
database.properties文件
db.driver=com.ibm.db2.jcc.DB2Driver
db.url=jdbc:db2://localhost:50000/SAMPLE
db.username=db2admin
db.password=db2admin
这是我的项目结构:
谢谢!
解决方法:
>项目的结构(例如src / main / resources)与maven中的结构相同.准备要部署的工件时,应自动将其移动到适当的位置.
>在添加db2jcc.ar依赖项时,您需要的是flatDir或在依赖项部分下添加以下代码段:
编译fileTree(dir:’lib’,包含:’* .jar’)
本文标题为:java – 从Gradle,Spring和DB2开始的挑战
基础教程推荐
- Java实现直接插入排序与折半插入排序的示例详解 2023-02-10
- mybatis-plus中lambdaQuery()与lambdaUpdate()比较常见的使用方法总结 2023-06-01
- Java聊天室之实现聊天室服务端功能 2023-06-30
- SpringMVC RESTFul实战案例删除功能实现 2022-11-20
- SpringBoot 2.5.5整合轻量级的分布式日志标记追踪神器TLog的详细过程 2023-06-17
- 详解SpringBoot整合RabbitMQ如何实现消息确认 2022-11-08
- 解决Lombok使用@Builder无法build父类属性的问题 2023-05-24
- 使用JPA自定义VO接收返回结果集(unwrap) 2023-08-10
- Java8中Stream的详细使用方法大全 2023-02-04
- Java利用自定义注解实现数据校验 2023-05-09