このエラーに関する多くの質問がありましたが、私にとっては解決策はありません。メインメソッドを実行しているときにタイプの修飾Beanが定義されていません
私はSpringには新しく、プロジェクトのためにSpring Data for Neo4Jライブラリを使用しようとしています。私は、私はすべてが働いている方法を知っていることを確認するために迅速なスパイクを開始することを決めた、と私はそうのような主要な方法で簡単なアプリケーションクラスを設定します。私は、同様の構成のクラスを設定している
package org.example.neo4jSpike;
import org.example.neo4jSpike.domain.Actor;
import org.example.neo4jSpike.repositories.ActorRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.stereotype.Component;
/**
* Hello world!
*
*/
@Component
public class App
{
@Autowired
private ActorRepository actors;
@SuppressWarnings("resource")
public static void main(String[] args)
{
ApplicationContext context = new AnnotationConfigApplicationContext(SpikeConfiguration.class);
App a = context.getBean(App.class);
a.init();
}
private void init(){
Actor michaelDouglas = actors.save(new Actor("Michael Douglas"));
System.out.println("Hello World!");
System.out.println(michaelDouglas.getId());
System.out.println("Total people: " + actors.count());
}
}
:
package org.example.neo4jSpike;
import org.neo4j.ogm.session.Session;
import org.neo4j.ogm.session.SessionFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.data.neo4j.config.Neo4jConfiguration;
import org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableNeo4jRepositories(basePackages = "org.example.neo4jSpike.repositories")
@EnableTransactionManagement
public class SpikeConfiguration extends Neo4jConfiguration{
@Bean
public SessionFactory getSessionFactory() {
// with domain entity base package(s)
return new SessionFactory("org.example.neo4jSpike.domain");
}
// needed for session in view in web-applications
@Bean
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public Session getSession() throws Exception {
return super.getSession();
}
}
私のリポジトリとドメインクラスのコードは必要に応じて追加しますが、それらはすべて同様の方法でセットアップされており、とても簡単です。
私がしようとmain
を実行すると、しかし、私は
No qualifying bean of type [org.example.neo4jSpike.App] is defined
を取得し、私は@Component
として定義され、それはすぐそこです、それは定義されていないどのように表示されません。私は何を誤解していますか?
あなたは '@ Component'を持っていますが、設定クラスには' @ Component'と '@ ComponentScan'もありませんので、決して検出されません... –
As私は、これは私の最初の春のアプリなので、私はそれを認識していないと言いました。ありがとう。それを答えに変えれば、私は同意します。それは私にこの問題をもたらしました。 – Paul