2017-07-28 4 views
3

私はjpa repositroyを拡張している以下のリポジトリを持っていますが、これをautowiredした実装クラスもあります。スタンドアロンアプリケーションのリポジトリメソッドを呼び出す方法は?

@Repository 
public interface ProjectDAO extends CrudRepository<Project, Integer> {} 

@Service 
public class ProjectServiceImpl { 

@Autowired private ProjectDAO pDAO; 

public void save(Project p) { pDAO.save(p); } } 

今私は1 Application.java class

Class Application{ 
public static void main(String..s){ 
// I need a way to call a method of repository 
} 
} 

設定ファイル

@Configuration 
@EnableTransactionManagement 
@EnableJpaRepositories 
@PropertySource("file:/Users/abc/Documents/application.properties") 
public class PersistenceContext { 
    @Autowired 
    Environment environment; 

を持っているので、どのように我々は、私は、任意のWebベースのコントローラを使用していけない場合には、メインからこれを呼ぶのですか?

class Application { 
    public static void main(String[] s){ 
     AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(PersistenceContext.class); 
     ProjectDAO dao = applicationContext.getBean(ProjectDAO.class); 
    } 
} 

編集:

+0

、どこで、あなたの春のconfigがありますか? – StanislavL

答えて

3

これは方法です

class Application { 
    public static void main(String[] s){ 
     AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(PersistenceContext.class); 
     ProjectServiceImpl service = applicationContext.getBean(ProjectServiceImpl.class); 
    } 
} 
+0

これは動作しません。その後、誰がserviceimplクラスを作成しますか? – Malav

+0

@Malavあなたはエラーを表示しますか? –

+0

ProjectDAOタイプの適格なBeanは定義されていません。ただし、正常に動作する場合はspring jpaを使用して作成する必要があります。 – Malav

関連する問題