包名:com.sample
SpringMain.java
ex. `df1.drop(df2.col("ACCT_NBR"));`
pacakge name:com.sample.infra
SampleClass.java
@SpringBootApplication
@ComponentScan
public class SpringMain implements CommandLineRunner
{
@Autowired
SampleClass sampleClass;
public static void main(String[] args) {
SpringApplication.run(SpringMain.class, args);
}
@Override
public void run(String... args) throws Exception
{
sampleClass.callThread();
}
}
pacakage name:com.sample.dao
ThreadSample.java
@Component
public class SampleClass
{
@Autowired
ThreadSample threadSample;
public void callThread()
{
System.out.println("Inside SampleClass");
threadSample.start();
}
}
application.properties
@Component
public class ThreadSample extends Thread
{
@Autowired
JdbcTemplate jdbcTemplate;
public void run()
{
init();
}
public String init()
{
System.out.println("Inside ThreadSample");
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("sp_procedureName");
Map<String, Object> initiatorMapData = jdbcCall.execute();
JSONArray initiatorJSONArray = JSONArray.fromObject(initiatorMapData.get("#result-set-1"));
System.out.println("GetInitiators JSONArray: "+initiatorJSONArray);
return initiatorJSONArray.toString();
}
}
的pom.xml
#DB Credentials
spring.datasource.url=jdbc:jtds:sqlserver://1.12.13.14
spring.datasource.username=uname
spring.datasource.password=pwd
现在,当我将所有文件放在一个包下时,它可以正常工作。但是当我根据功能分发时,就会发生错误。我该如何解决这个问题。
按照以下建议添加basepackages后,我收到错误
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>springBoot</groupId>
<artifactId>springBoot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<artifactId>tomcat-annotations-api</artifactId>
<groupId>org.apache.tomcat</groupId>
</exclusion>
<exclusion>
<artifactId>tomcat-embed-core</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
<exclusion>
<artifactId>tomcat-embed-el</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
<exclusion>
<artifactId>tomcat-embed-websocket</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
答案 0 :(得分:0)
删除
@ComponentScan
或将其修改为
@ComponentScan(basePackage="com.sample")
答案 1 :(得分:0)
添加以下内容:
@ComponentScan(basePackages={"com.sample"})
答案 2 :(得分:0)
添加您的配置
@Bean
public TaskExecutor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(5);
executor.setMaxPoolSize(10);
executor.setQueueCapacity(25);
return executor;
}
答案 3 :(得分:0)
我今天遇到了类似的问题,我通过创建一个DatabaseConfig类来解决了这个问题
@Configuration
public class DatabaseConfig {
@Bean
public DataSource dataSource(){
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/myDB");
dataSource.setUsername( "root" );
dataSource.setPassword( "" );
return dataSource;
}
}
PS:我有一个MySQL DB。您需要设置正确的驱动程序类和URL