将data jpa相关配置类,移入infras-data-jpa项目
diff --git a/samples/user/pom.xml b/samples/user/pom.xml
index 23bbb2e..e7d6492 100644
--- a/samples/user/pom.xml
+++ b/samples/user/pom.xml
@@ -31,21 +31,6 @@
</dependency>
<dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-jpa</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- </dependency>
-
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- </dependency>
-
- <dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
@@ -78,6 +63,16 @@
</dependency>
-->
+ <dependency>
+ <groupId>com.supwisdom.infras</groupId>
+ <artifactId>infras-data-jpa</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ </dependency>
+
<!-- Test things -->
<dependency>
<groupId>org.testng</groupId>
diff --git a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/EnableInfrasDataJpa.java b/samples/user/src/main/java/com/supwisdom/infras/data/jpa/EnableInfrasDataJpa.java
deleted file mode 100644
index f209145..0000000
--- a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/EnableInfrasDataJpa.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.supwisdom.infras.data.jpa;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.springframework.context.annotation.Import;
-
-import com.supwisdom.infras.data.jpa.autoconfigure.InfrasDataJpaMarkerConfiguration;
-
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@Import(InfrasDataJpaMarkerConfiguration.class)
-public @interface EnableInfrasDataJpa {
-
-}
diff --git a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/autoconfigure/InfrasDataJpaAutoConfiguration.java b/samples/user/src/main/java/com/supwisdom/infras/data/jpa/autoconfigure/InfrasDataJpaAutoConfiguration.java
deleted file mode 100644
index 3db37f0..0000000
--- a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/autoconfigure/InfrasDataJpaAutoConfiguration.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.supwisdom.infras.data.jpa.autoconfigure;
-
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-
-import com.supwisdom.infras.data.jpa.configure.InfrasDataJpaConfigure;
-
-@Configuration
-@ConditionalOnBean(InfrasDataJpaMarkerConfiguration.Marker.class)
-@Import(InfrasDataJpaConfigure.class)
-//@AutoConfigureAfter(JpaRepositoriesAutoConfiguration.class)
-public class InfrasDataJpaAutoConfiguration {
-
-}
diff --git a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/autoconfigure/InfrasDataJpaMarkerConfiguration.java b/samples/user/src/main/java/com/supwisdom/infras/data/jpa/autoconfigure/InfrasDataJpaMarkerConfiguration.java
deleted file mode 100644
index a8a35aa..0000000
--- a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/autoconfigure/InfrasDataJpaMarkerConfiguration.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.supwisdom.infras.data.jpa.autoconfigure;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class InfrasDataJpaMarkerConfiguration {
-
- @Bean
- public Marker infrasDataJpaMarkerBean() {
- return new Marker();
- }
-
- class Marker {
- }
-
-}
diff --git a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/configure/InfrasDataJpaConfigure.java b/samples/user/src/main/java/com/supwisdom/infras/data/jpa/configure/InfrasDataJpaConfigure.java
deleted file mode 100644
index 458d08d..0000000
--- a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/configure/InfrasDataJpaConfigure.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.supwisdom.infras.data.jpa.configure;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.data.web.config.EnableSpringDataWebSupport;
-
-@Configuration
-@EnableJpaRepositories(basePackages = "${infras.data.jpa.basePackages:com.supwisdom.**.repository}")
-@EnableSpringDataWebSupport
-public class InfrasDataJpaConfigure {
-
-}
diff --git a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/domain/ABaseDomain.java b/samples/user/src/main/java/com/supwisdom/infras/data/jpa/domain/ABaseDomain.java
deleted file mode 100644
index 4c99db2..0000000
--- a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/domain/ABaseDomain.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package com.supwisdom.infras.data.jpa.domain;
-
-import java.io.Serializable;
-import java.util.Date;
-
-import javax.persistence.Column;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.MappedSuperclass;
-
-import org.hibernate.annotations.GenericGenerator;
-
-@MappedSuperclass
-public abstract class ABaseDomain implements Serializable {
-
- /**
- *
- */
- private static final long serialVersionUID = 8023881887762314483L;
-
- @Id
- @GeneratedValue(generator = "uuidStrategy")
- @GenericGenerator(name = "uuidStrategy", strategy = "uuid")
- //@ApiModelProperty(value = "ID", required = false, example = "")
- @Column(name = "ID")
- private String id;
-
- /**
- * 获取主键
- */
- public String getId() {
- return id;
- }
-
- /**
- * 设置ID属性,主要用于人工指定键值
- */
- public void setId(String id) {
- this.id = id;
- }
-
- //@ApiModelProperty(value = "CompanyID", required = true, example = "1")
- @Column(name = "COMPANY_ID")
- private String companyId = null;
-
- //@ApiModelProperty(value = "是否删除", hidden = true, example = "false")
- @Column(name = "DELETED")
- private Boolean deleted = false;
-
- //@ApiModelProperty(value = "创建人", hidden = true)
- @Column(name = "ADD_ACCOUNT")
- private String addAccount = null;
-
- //@ApiModelProperty(value = "创建时间", hidden = true)
- @Column(name = "ADD_TIME")
- private Date addTime = null;
-
- //@ApiModelProperty(value = "修改人", hidden = true)
- @Column(name = "EDIT_ACCOUNT")
- private String editAccount = null;
-
- //@ApiModelProperty(value = "修改时间", hidden = true)
- @Column(name = "EDIT_TIME")
- private Date editTime = null;
-
- //@ApiModelProperty(value = "删除人", hidden = true)
- @Column(name = "DELETE_ACCOUNT")
- private String deleteAccount = null;
-
- //@ApiModelProperty(value = "删除时间", hidden = true)
- @Column(name = "DELETE_TIME")
- private Date deleteTime = null;
-
- public String getCompanyId() {
- return companyId;
- }
-
- public void setCompanyId(String companyId) {
- this.companyId = companyId;
- }
-
- public Boolean isDeleted() {
- return deleted;
- }
-
- public void setDeleted(Boolean deleted) {
- this.deleted = deleted;
- }
-
- public String getAddAccount() {
- return addAccount;
- }
-
- public void setAddAccount(String addAccount) {
- this.addAccount = addAccount;
- }
-
- public Date getAddTime() {
- return addTime;
- }
-
- public void setAddTime(Date addTime) {
- this.addTime = addTime;
- }
-
- public String getEditAccount() {
- return editAccount;
- }
-
- public void setEditAccount(String editAccount) {
- this.editAccount = editAccount;
- }
-
- public Date getEditTime() {
- return editTime;
- }
-
- public void setEditTime(Date editTime) {
- this.editTime = editTime;
- }
-
- public String getDeleteAccount() {
- return deleteAccount;
- }
-
- public void setDeleteAccount(String deleteAccount) {
- this.deleteAccount = deleteAccount;
- }
-
- public Date getDeleteTime() {
- return deleteTime;
- }
-
- public void setDeleteTime(Date deleteTime) {
- this.deleteTime = deleteTime;
- }
-
-}
diff --git a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/repository/ABaseJpaRepositoryImpl.java b/samples/user/src/main/java/com/supwisdom/infras/data/jpa/repository/ABaseJpaRepositoryImpl.java
deleted file mode 100644
index 2daf122..0000000
--- a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/repository/ABaseJpaRepositoryImpl.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.supwisdom.infras.data.jpa.repository;
-
-import java.util.Calendar;
-import java.util.Map;
-import java.util.Optional;
-
-import javax.persistence.EntityManager;
-import javax.transaction.Transactional;
-
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.jpa.repository.support.JpaEntityInformation;
-import org.springframework.data.jpa.repository.support.SimpleJpaRepository;
-import org.springframework.data.repository.NoRepositoryBean;
-
-import com.supwisdom.infras.data.jpa.domain.ABaseDomain;
-
-@Transactional
-@NoRepositoryBean
-public class ABaseJpaRepositoryImpl<T extends ABaseDomain> extends SimpleJpaRepository<T, String> implements BaseJpaRepository<T> {
-
- @SuppressWarnings("unused")
- private final EntityManager em;
-
- public ABaseJpaRepositoryImpl(Class<T> domainClass, EntityManager em) {
- super(domainClass, em);
- this.em = em;
- }
-
- public ABaseJpaRepositoryImpl(JpaEntityInformation<T, String> information, EntityManager em) {
- super(information, em);
- this.em = em;
- }
-
- public Page<T> selectPageList(int pageIndex, int pageSize, Map<String, Object> mapBean) {
-
- PageRequest pageRequest = PageRequest.of(pageIndex, pageSize);
-
- Page<T> page = this.findAll(pageRequest);
-
- return page;
- }
-
- public T selectById(String id) {
-
- try {
- Optional<T> entity = this.findById(id);
-
- return entity.get();
- } catch (RuntimeException e) {
- System.out.println("RuntimeException:" + e.getMessage());
- } catch (Exception e) {
- System.out.println("Exception:" + e.getMessage());
- }
-
- return null;
- }
-
- public T insert(T entity) {
-
- if (entity.getCompanyId() == null || entity.getCompanyId().isEmpty()) {
- entity.setCompanyId("1");
- }
-
- entity.setDeleted(false);
- //entity.setAddAccount(AuthUtil.getRemoteUser()); // FIXME: setAddAccount
- entity.setAddTime(Calendar.getInstance().getTime());
-
- T e = this.save(entity);
-
- return e;
- }
-
- public T update(T entity) {
-
- //entity.setEditAccount(AuthUtil.getRemoteUser()); // FIXME: setEditAccount
- entity.setEditTime(Calendar.getInstance().getTime());
-
- T e = this.save(entity);
-
- return e;
- }
-
-}
diff --git a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/repository/BaseJpaRepository.java b/samples/user/src/main/java/com/supwisdom/infras/data/jpa/repository/BaseJpaRepository.java
deleted file mode 100644
index b533987..0000000
--- a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/repository/BaseJpaRepository.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.supwisdom.infras.data.jpa.repository;
-
-import java.util.Calendar;
-import java.util.Map;
-import java.util.Optional;
-
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.repository.NoRepositoryBean;
-
-import com.supwisdom.infras.data.jpa.domain.ABaseDomain;
-
-@NoRepositoryBean
-public interface BaseJpaRepository<T extends ABaseDomain> extends JpaRepository<T, String> {
-
- public default Page<T> selectPageList(int pageIndex, int pageSize, Map<String, Object> mapBean) {
-
- PageRequest pageRequest = PageRequest.of(pageIndex, pageSize);
-
- Page<T> page = this.findAll(pageRequest);
-
- return page;
- }
-
- public default T selectById(String id) {
-
- try {
- Optional<T> entity = this.findById(id);
-
- return entity.get();
- } catch (RuntimeException e) {
- System.out.println("RuntimeException:" + e.getMessage());
- } catch (Exception e) {
- System.out.println("Exception:" + e.getMessage());
- }
-
- return null;
- }
-
- public default T insert(T entity) {
-
- if (entity.getCompanyId() == null || entity.getCompanyId().isEmpty()) {
- entity.setCompanyId("1");
- }
-
- entity.setDeleted(false);
- //entity.setAddAccount(AuthUtil.getRemoteUser()); // FIXME: setAddAccount
- entity.setAddTime(Calendar.getInstance().getTime());
-
- T e = this.save(entity);
-
- return e;
- }
-
- public default T update(T entity) {
-
- //entity.setEditAccount(AuthUtil.getRemoteUser()); // FIXME: setEditAccount
- entity.setEditTime(Calendar.getInstance().getTime());
-
- T e = this.save(entity);
-
- return e;
- }
-
-}
diff --git a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/repository/support/BaseJpaRepositoryFactoryBean.java b/samples/user/src/main/java/com/supwisdom/infras/data/jpa/repository/support/BaseJpaRepositoryFactoryBean.java
deleted file mode 100644
index ae4c0eb..0000000
--- a/samples/user/src/main/java/com/supwisdom/infras/data/jpa/repository/support/BaseJpaRepositoryFactoryBean.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.supwisdom.infras.data.jpa.repository.support;
-
-import javax.persistence.EntityManager;
-
-import org.springframework.data.jpa.repository.support.JpaRepositoryFactory;
-import org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean;
-import org.springframework.data.jpa.repository.support.SimpleJpaRepository;
-import org.springframework.data.repository.core.RepositoryInformation;
-import org.springframework.data.repository.core.RepositoryMetadata;
-import org.springframework.data.repository.core.support.RepositoryFactorySupport;
-
-import com.supwisdom.infras.data.jpa.domain.ABaseDomain;
-import com.supwisdom.infras.data.jpa.repository.ABaseJpaRepositoryImpl;
-
-public class BaseJpaRepositoryFactoryBean<T extends ABaseJpaRepositoryImpl<S>, S extends ABaseDomain> extends JpaRepositoryFactoryBean<T, S, String> {
-
- public BaseJpaRepositoryFactoryBean(Class<? extends T> repositoryInterface) {
- super(repositoryInterface);
- }
-
- @SuppressWarnings("rawtypes")
- protected RepositoryFactorySupport createRepositoryFactory(EntityManager em) {
- return new BaseJpaRepositoryFactory(em);
- }
-
- private static class BaseJpaRepositoryFactory<T extends ABaseDomain> extends JpaRepositoryFactory {
-
- private final EntityManager em;
-
- public BaseJpaRepositoryFactory(EntityManager em) {
- super(em);
- this.em = em;
- }
-
- protected SimpleJpaRepository<T, String> getTargetRepository(RepositoryInformation information, EntityManager em) {
- Class<T> domainClass = (Class<T>) information.getDomainType();
-
- return new ABaseJpaRepositoryImpl<T>(domainClass, em);
- }
-
-// @SuppressWarnings("unchecked")
-// protected Object getTargetRepository(RepositoryMetadata metadata) {
-// return new ABaseJpaRepositoryImpl<T>((Class<T>) metadata.getDomainType(), this.em);
-// }
-
- protected Class<?> getRepositoryBaseClass(RepositoryMetadata metadata) {
- return ABaseJpaRepositoryImpl.class;
- }
-
- }
-
-}
diff --git a/samples/user/src/main/java/com/supwisdom/leaveschool/user/domain/User.java b/samples/user/src/main/java/com/supwisdom/leaveschool/user/domain/User.java
index 70a4a4e..8af51c9 100644
--- a/samples/user/src/main/java/com/supwisdom/leaveschool/user/domain/User.java
+++ b/samples/user/src/main/java/com/supwisdom/leaveschool/user/domain/User.java
@@ -6,11 +6,8 @@
import com.supwisdom.infras.data.jpa.domain.ABaseDomain;
-import lombok.Data;
-
@Entity
@Table(name = "TB_U_USER")
-@Data
public class User extends ABaseDomain {
/**
diff --git a/samples/user/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/samples/user/src/main/resources/META-INF/additional-spring-configuration-metadata.json
deleted file mode 100644
index 68f8804..0000000
--- a/samples/user/src/main/resources/META-INF/additional-spring-configuration-metadata.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "hints": [],
- "groups": [],
- "properties": [
- {
- "name": "infras.data.jpa.basePackages",
- "description": "Jpa repository's base packages",
- "defaultValue": "com.supwisdom.**.repository",
- "type": "java.lang.String"
- }
- ]
-}
diff --git a/samples/user/src/main/resources/META-INF/spring.factories b/samples/user/src/main/resources/META-INF/spring.factories
deleted file mode 100644
index 85d945b..0000000
--- a/samples/user/src/main/resources/META-INF/spring.factories
+++ /dev/null
@@ -1,3 +0,0 @@
-# Auto Configure
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-com.supwisdom.infras.data.jpa.autoconfigure.InfrasDataJpaAutoConfiguration
\ No newline at end of file