Advertisement
Guest User

Untitled

a guest
Apr 7th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.66 KB | None | 0 0
  1. Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'employeeRepo': Invocation of init method failed; nested exception is java.lang.AbstractMethodError
  2. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
  3. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
  4. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
  5. at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
  6. at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
  7. at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
  8. at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
  9. at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:753)
  10. at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762)
  11. at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
  12. at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
  13. at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
  14. at com.jcg.examples.test.Application.main(Application.java:58)
  15. Caused by: java.lang.AbstractMethodError
  16. at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:171)
  17. at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:239)
  18. at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:225)
  19. at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:92)
  20. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
  21. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
  22. ... 12 more
  23.  
  24. <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">
  25. <modelVersion>4.0.0</modelVersion>
  26. <groupId>SpringDataMongoDbExample</groupId>
  27. <artifactId>SpringDataMongoDbExample</artifactId>
  28. <version>0.0.1-SNAPSHOT</version>
  29.  
  30. <dependencies>
  31. <dependency>
  32. <groupId>org.springframework.data</groupId>
  33. <artifactId>spring-data-mongodb</artifactId>
  34. <version>1.7.2.RELEASE</version>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.springframework</groupId>
  38. <artifactId>spring-core</artifactId>
  39. <version>4.2.5.RELEASE</version>
  40. </dependency>
  41. <dependency>
  42. <groupId>org.springframework</groupId>
  43. <artifactId>spring-orm</artifactId>
  44. <version>4.2.5.RELEASE</version>
  45. <scope>compile</scope>
  46. </dependency>
  47.  
  48. <dependency>
  49. <groupId>org.springframework</groupId>
  50. <artifactId>spring-tx</artifactId>
  51. <version>4.2.5.RELEASE</version>
  52. </dependency>
  53. <dependency>
  54. <groupId>mysql</groupId>
  55. <artifactId>mysql-connector-java</artifactId>
  56. <version>5.1.38</version>
  57. </dependency>
  58. <dependency>
  59. <groupId>org.springframework</groupId>
  60. <artifactId>spring-aop</artifactId>
  61. <version>4.2.5.RELEASE</version>
  62. </dependency>
  63. <dependency>
  64. <groupId>org.springframework</groupId>
  65. <artifactId>spring-aspects</artifactId>
  66. <version>4.2.5.RELEASE</version>
  67. </dependency>
  68. <dependency>
  69. <groupId>org.springframework</groupId>
  70. <artifactId>spring-beans</artifactId>
  71. <version>4.2.5.RELEASE</version>
  72. </dependency>
  73. <dependency>
  74. <groupId>org.hibernate</groupId>
  75. <artifactId>hibernate-entitymanager</artifactId>
  76. <version>4.3.10.Final</version>
  77. </dependency>
  78.  
  79. <dependency>
  80. <groupId>org.hibernate</groupId>
  81. <artifactId>hibernate-commons-annotations</artifactId>
  82. <version>3.2.0.Final</version>
  83. </dependency>
  84. <dependency>
  85. <groupId>org.hibernate</groupId>
  86. <artifactId>hibernate-core</artifactId>
  87. <version>4.3.10.Final</version>
  88. </dependency>
  89. <dependency>
  90. <groupId>org.hibernate.javax.persistence</groupId>
  91. <artifactId>hibernate-jpa-2.0-api</artifactId>
  92. <version>1.0.0.Final</version>
  93. </dependency>
  94. <dependency>
  95. <groupId>org.springframework.data</groupId>
  96. <artifactId>spring-data-jpa</artifactId>
  97. <version>1.9.4.RELEASE</version>
  98. </dependency>
  99. </dependencies>
  100. <build>
  101. <plugins>
  102. <plugin>
  103. <groupId>org.apache.tomcat.maven</groupId>
  104. <artifactId>tomcat7-maven-plugin</artifactId>
  105. <version>2.2</version>
  106.  
  107. </plugin>
  108. </plugins>
  109. </build>
  110. </project>
  111.  
  112. <?xml version="1.0" encoding="UTF-8"?>
  113. <beans xmlns="http://www.springframework.org/schema/beans"
  114. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  115. xmlns:jpa="http://www.springframework.org/schema/data/jpa"
  116. xsi:schemaLocation="http://www.springframework.org/schema/beans
  117. http://www.springframework.org/schema/beans/spring-beans.xsd
  118. http://www.springframework.org/schema/data/jpa
  119. http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
  120.  
  121.  
  122. <jpa:repositories base-package="com.jcg.examples.jpa.repo"/>
  123.  
  124. <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  125. <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  126. <property name="url" value="jdbc:mysql://localhost:3306/springDataJPA"/>
  127. <property name="username" value=""/>
  128. <property name="password" value=""/>
  129. </bean>
  130.  
  131. <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
  132. <property name="showSql" value="true"/>
  133. <property name="generateDdl" value="true"/>
  134. <property name="database" value="MYSQL"/>
  135. </bean>
  136.  
  137. <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
  138. <property name="dataSource" ref="dataSource"/>
  139. <property name="jpaVendorAdapter" ref="jpaVendorAdapter"/>
  140. <!-- spring based scanning for entity classes-->
  141. <property name="packagesToScan" value="com.jcg.examples.entity"/>
  142. </bean>
  143.  
  144. <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"/>
  145. </beans>
  146.  
  147. <?xml version="1.0" encoding="UTF-8"?>
  148. <beans xmlns="http://www.springframework.org/schema/beans"
  149. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  150. xmlns:context="http://www.springframework.org/schema/context"
  151. xmlns:mongo="http://www.springframework.org/schema/data/mongo"
  152. xsi:schemaLocation=
  153. "http://www.springframework.org/schema/context
  154. http://www.springframework.org/schema/context/spring-context-3.0.xsd
  155. http://www.springframework.org/schema/data/mongo
  156. http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
  157. http://www.springframework.org/schema/beans
  158. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
  159.  
  160. <!-- Default bean name is 'mongo' -->
  161. <mongo:mongo id="mongo" host="localhost" port="27017"/>
  162.  
  163. <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
  164. <constructor-arg ref="mongo"/>
  165. <constructor-arg name="databaseName" value="jcg"/>
  166. </bean>
  167.  
  168. <mongo:repositories base-package="com.jcg.examples.mongo.repo"></mongo:repositories>
  169.  
  170. </beans>
  171.  
  172. package com.jcg.examples.entity;
  173.  
  174. import javax.persistence.Column;
  175. import javax.persistence.Entity;
  176. import javax.persistence.Id;
  177. import javax.persistence.Table;
  178.  
  179.  
  180. @Entity
  181. @Table(name = "Employee")
  182. public class Employee {
  183.  
  184. @Id
  185. @Column(name = "id")
  186. private int id;
  187.  
  188. @Column(name = "firstName")
  189. private String firstName;
  190.  
  191. @Column(name = "lastName")
  192. private String lastName;
  193.  
  194. @Column(name = "dept")
  195. private String dept;
  196.  
  197. public Employee() {
  198.  
  199. }
  200.  
  201. public Employee(int id, String firstName, String lastName, String dept) {
  202. this.setId(id);
  203. this.setFirstName(firstName);
  204. this.setLastName(lastName);
  205. this.setDept(dept);
  206. }
  207.  
  208. public int getId() {
  209. return id;
  210. }
  211.  
  212. public void setId(int id) {
  213. this.id = id;
  214. }
  215.  
  216. public String getFirstName() {
  217. return firstName;
  218. }
  219.  
  220. public void setFirstName(String firstName) {
  221. this.firstName = firstName;
  222. }
  223.  
  224. public String getLastName() {
  225. return lastName;
  226. }
  227.  
  228. public void setLastName(String lastName) {
  229. this.lastName = lastName;
  230. }
  231.  
  232. public String getDept() {
  233. return dept;
  234. }
  235.  
  236. public void setDept(String dept) {
  237. this.dept = dept;
  238. }
  239. }
  240.  
  241. package com.jcg.examples.entity;
  242.  
  243. import java.util.ArrayList;
  244. import java.util.List;
  245.  
  246. import org.springframework.data.annotation.Id;
  247. import org.springframework.data.annotation.PersistenceConstructor;
  248. import org.springframework.data.mongodb.core.mapping.DBRef;
  249. import org.springframework.data.mongodb.core.mapping.Document;
  250.  
  251. @Document(collection="person")
  252. public class Person
  253. {
  254.  
  255. @Id
  256. private Long personId;
  257.  
  258. private String name;
  259.  
  260. private int age;
  261.  
  262. @DBRef(db="address")
  263. private List<Address> addresses = new ArrayList<Address>();
  264.  
  265. public Person()
  266. {}
  267.  
  268.  
  269. @PersistenceConstructor
  270. public Person(Long personId, String name, int age)
  271. {
  272. super();
  273. this.personId = personId;
  274. this.name = name;
  275. this.age = age;
  276. }
  277.  
  278. public Long getPersonId()
  279. {
  280. return personId;
  281. }
  282.  
  283. public void setPersonId(Long personId)
  284. {
  285. this.personId = personId;
  286. }
  287.  
  288. public String getName()
  289. {
  290. return name;
  291. }
  292.  
  293. public void setName(String name)
  294. {
  295. this.name = name;
  296. }
  297.  
  298. public int getAge()
  299. {
  300. return age;
  301. }
  302.  
  303. public void setAge(int age)
  304. {
  305. this.age = age;
  306. }
  307.  
  308. public List<Address> getAddresses()
  309. {
  310. return addresses;
  311. }
  312.  
  313.  
  314. public void setAddresses(List<Address> addresses)
  315. {
  316. this.addresses = addresses;
  317. }
  318.  
  319.  
  320. @Override
  321. public String toString()
  322. {
  323. return "Person [personId=" + personId + ", name=" + name + ", age=" + age + ", addresses=" + addresses + "]";
  324. }
  325.  
  326.  
  327.  
  328. }
  329.  
  330. package com.jcg.examples.jpa.repo;
  331.  
  332.  
  333. import java.util.List;
  334.  
  335. import org.springframework.data.repository.CrudRepository;
  336.  
  337. import com.jcg.examples.entity.Employee;
  338.  
  339. public interface EmployeeRepo extends CrudRepository<Employee, Integer> {
  340.  
  341. public List<Employee> searchByfirstName(String firstName);
  342.  
  343. }
  344.  
  345. package com.jcg.examples.mongo.repo;
  346.  
  347. import org.springframework.data.mongodb.repository.Query;
  348. import org.springframework.data.repository.CrudRepository;
  349.  
  350. import com.jcg.examples.entity.Person;
  351.  
  352. public interface PersonRepo extends CrudRepository<Person, Long>
  353. {
  354. @Query("{'name' : ?0}")
  355. public Iterable<Person> searchByName(String personName);
  356.  
  357. }
  358.  
  359. package com.jcg.examples.test;
  360.  
  361.  
  362. import java.util.List;
  363.  
  364. import org.springframework.context.support.AbstractApplicationContext;
  365. import org.springframework.context.support.ClassPathXmlApplicationContext;
  366. import org.springframework.core.io.ClassPathResource;
  367. import org.springframework.data.repository.CrudRepository;
  368.  
  369. import com.jcg.examples.entity.Employee;
  370. import com.jcg.examples.entity.Address;
  371. import com.jcg.examples.entity.Person;
  372. import com.jcg.examples.jpa.repo.EmployeeRepo;
  373. import com.jcg.examples.mongo.repo.AddressRepo;
  374. import com.jcg.examples.mongo.repo.PersonRepo;
  375.  
  376.  
  377. public class Application
  378.  
  379.  
  380. { private static CrudRepository repository;
  381. public static void main(String[] args)
  382. {
  383. ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new ClassPathResource("spring-mongo-config.xml").getPath());
  384. PersonRepo personRepo = context.getBean(PersonRepo.class);
  385. AddressRepo addressRepo = context.getBean(AddressRepo.class);
  386.  
  387. Person personAchilles = new Person();
  388. personAchilles.setPersonId(1l);
  389. personAchilles.setName("Achilles");
  390. personRepo.save(personAchilles);
  391. Person personHektor = new Person();
  392. personHektor.setPersonId(2l);
  393. personHektor.setName("Hektor");
  394.  
  395. Address address = new Address(1,"221b Baker Street","London NW1","London",12345l);
  396. List<Address> addresses = personHektor.getAddresses();
  397. addresses.add(address);
  398. personAchilles.setAddresses(addresses);
  399.  
  400. addressRepo.save(address);
  401. personRepo.save(personHektor);
  402.  
  403. Iterable<Person> personList = personRepo.findAll();
  404. System.out.println("Person List : ");
  405. for (Person person : personList)
  406. {
  407. System.out.println(person);
  408. }
  409.  
  410. System.out.println("Person with Id 1 is "+personRepo.searchByName("Hektor"));
  411.  
  412. context.close();
  413.  
  414. //THIS IS THE JPA PART============================================
  415.  
  416. ClassPathXmlApplicationContext context1 = new ClassPathXmlApplicationContext("spring-jpa-config.xml");
  417. repository = context1.getBean(EmployeeRepo.class);
  418.  
  419. createEmployee(22, "Saint", "Peter", "Engineering");
  420. createEmployee(23, "Jack", " Dorsey", "Imaginea");
  421. createEmployee(24, "Sam", "Fox", "Imaginea");
  422.  
  423. context1.close();
  424.  
  425. }
  426.  
  427. private static void createEmployee(int id, String firstName, String lastName, String dept) {
  428.  
  429. Employee emp = new Employee(id, firstName, lastName, dept);
  430. repository.save(emp);
  431. }
  432.  
  433.  
  434. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement