general formatting work
This commit is contained in:
parent
fc59834adb
commit
95e2d063f4
|
@ -67,8 +67,4 @@ public class CollectionJavaPartitionUnitTest {
|
|||
assertThat(lastPartition, equalTo(expectedLastPartition));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -10,5 +10,5 @@ import java.lang.annotation.Target;
|
|||
@Target({ ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
|
||||
@Documented
|
||||
public @interface DataAccess {
|
||||
Class<?>entity();
|
||||
Class<?> entity();
|
||||
}
|
||||
|
|
|
@ -19,15 +19,13 @@ public class DataAccessAnnotationProcessor implements BeanPostProcessor {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Object postProcessBeforeInitialization(Object bean, String beanName)
|
||||
throws BeansException {
|
||||
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
|
||||
scanDataAccessAnnotation(bean, beanName);
|
||||
return bean;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object postProcessAfterInitialization(Object bean, String beanName)
|
||||
throws BeansException {
|
||||
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
|
||||
return bean;
|
||||
}
|
||||
|
||||
|
|
|
@ -12,18 +12,14 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
|||
import org.springframework.util.ReflectionUtils;
|
||||
import org.springframework.util.ReflectionUtils.FieldCallback;
|
||||
|
||||
|
||||
public final class DataAccessFieldCallback implements FieldCallback {
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(DataAccessFieldCallback.class);
|
||||
private static int AUTOWIRE_MODE = AutowireCapableBeanFactory.AUTOWIRE_BY_NAME;
|
||||
|
||||
private static String ERROR_ENTITY_VALUE_NOT_SAME = "@DataAccess(entity) "
|
||||
+ "value should have same type with injected generic type.";
|
||||
private static String WARN_NON_GENERIC_VALUE = "@DataAccess annotation assigned "
|
||||
+ "to raw (non-generic) declaration. This will make your code less type-safe.";
|
||||
private static String ERROR_CREATE_INSTANCE = "Cannot create instance of "
|
||||
+ "type '{}' or instance creation is failed because: {}";
|
||||
private static String ERROR_ENTITY_VALUE_NOT_SAME = "@DataAccess(entity) " + "value should have same type with injected generic type.";
|
||||
private static String WARN_NON_GENERIC_VALUE = "@DataAccess annotation assigned " + "to raw (non-generic) declaration. This will make your code less type-safe.";
|
||||
private static String ERROR_CREATE_INSTANCE = "Cannot create instance of " + "type '{}' or instance creation is failed because: {}";
|
||||
|
||||
private ConfigurableListableBeanFactory configurableListableBeanFactory;
|
||||
private Object bean;
|
||||
|
@ -34,15 +30,14 @@ public final class DataAccessFieldCallback implements FieldCallback {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void doWith(final Field field)
|
||||
throws IllegalArgumentException, IllegalAccessException {
|
||||
public void doWith(final Field field) throws IllegalArgumentException, IllegalAccessException {
|
||||
if (!field.isAnnotationPresent(DataAccess.class)) {
|
||||
return;
|
||||
}
|
||||
ReflectionUtils.makeAccessible(field);
|
||||
final Type fieldGenericType = field.getGenericType();
|
||||
// In this example, get actual "GenericDAO' type.
|
||||
final Class<?> generic = field.getType();
|
||||
// In this example, get actual "GenericDAO' type.
|
||||
final Class<?> generic = field.getType();
|
||||
final Class<?> classValue = field.getDeclaredAnnotation(DataAccess.class).entity();
|
||||
|
||||
if (genericTypeIsValid(classValue, fieldGenericType)) {
|
||||
|
@ -54,7 +49,6 @@ public final class DataAccessFieldCallback implements FieldCallback {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* For example, if user write:
|
||||
* <pre>
|
||||
|
@ -75,8 +69,6 @@ public final class DataAccessFieldCallback implements FieldCallback {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public final Object getBeanInstance(final String beanName, final Class<?> genericClass, final Class<?> paramClass) {
|
||||
Object daoInstance = null;
|
||||
if (!configurableListableBeanFactory.containsBean(beanName)) {
|
||||
|
@ -90,7 +82,7 @@ public final class DataAccessFieldCallback implements FieldCallback {
|
|||
logger.error(ERROR_CREATE_INSTANCE, genericClass.getTypeName(), e);
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
|
||||
daoInstance = configurableListableBeanFactory.initializeBean(toRegister, beanName);
|
||||
configurableListableBeanFactory.autowireBeanProperties(daoInstance, AUTOWIRE_MODE, true);
|
||||
configurableListableBeanFactory.registerSingleton(beanName, daoInstance);
|
||||
|
|
|
@ -5,10 +5,11 @@ import org.springframework.stereotype.Repository;
|
|||
@Repository
|
||||
public class BeanWithGenericDAO {
|
||||
|
||||
@DataAccess(entity=Person.class)
|
||||
@DataAccess(entity = Person.class)
|
||||
private GenericDAO<Person> personGenericDAO;
|
||||
|
||||
public BeanWithGenericDAO() {}
|
||||
public BeanWithGenericDAO() {
|
||||
}
|
||||
|
||||
public GenericDAO<Person> getPersonGenericDAO() {
|
||||
return personGenericDAO;
|
||||
|
|
|
@ -15,7 +15,6 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
|||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(classes = { CustomAnnotationConfiguration.class })
|
||||
public class DataAccessFieldCallbackTest {
|
||||
|
@ -36,8 +35,7 @@ public class DataAccessFieldCallbackTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void whenMethodGenericTypeIsValidCalled_thenReturnCorrectValue()
|
||||
throws NoSuchFieldException, SecurityException {
|
||||
public void whenMethodGenericTypeIsValidCalled_thenReturnCorrectValue() throws NoSuchFieldException, SecurityException {
|
||||
final DataAccessFieldCallback callback = new DataAccessFieldCallback(configurableListableBeanFactory, beanWithGenericDAO);
|
||||
final Type fieldType = BeanWithGenericDAO.class.getDeclaredField("personGenericDAO").getGenericType();
|
||||
final boolean result = callback.genericTypeIsValid(Person.class, fieldType);
|
||||
|
|
|
@ -40,8 +40,7 @@ public class SpringBatchConfig {
|
|||
private Resource outputXml;
|
||||
|
||||
@Bean
|
||||
public ItemReader<Transaction> itemReader()
|
||||
throws UnexpectedInputException, ParseException {
|
||||
public ItemReader<Transaction> itemReader() throws UnexpectedInputException, ParseException {
|
||||
FlatFileItemReader<Transaction> reader = new FlatFileItemReader<Transaction>();
|
||||
DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer();
|
||||
String[] tokens = { "username", "userid", "transactiondate", "amount" };
|
||||
|
@ -61,8 +60,7 @@ public class SpringBatchConfig {
|
|||
}
|
||||
|
||||
@Bean
|
||||
public ItemWriter<Transaction> itemWriter(Marshaller marshaller)
|
||||
throws MalformedURLException {
|
||||
public ItemWriter<Transaction> itemWriter(Marshaller marshaller) throws MalformedURLException {
|
||||
StaxEventItemWriter<Transaction> itemWriter = new StaxEventItemWriter<Transaction>();
|
||||
itemWriter.setMarshaller(marshaller);
|
||||
itemWriter.setRootTagName("transactionRecord");
|
||||
|
@ -78,11 +76,8 @@ public class SpringBatchConfig {
|
|||
}
|
||||
|
||||
@Bean
|
||||
protected Step step1(ItemReader<Transaction> reader,
|
||||
ItemProcessor<Transaction, Transaction> processor,
|
||||
ItemWriter<Transaction> writer) {
|
||||
return steps.get("step1").<Transaction, Transaction> chunk(10)
|
||||
.reader(reader).processor(processor).writer(writer).build();
|
||||
protected Step step1(ItemReader<Transaction> reader, ItemProcessor<Transaction, Transaction> processor, ItemWriter<Transaction> writer) {
|
||||
return steps.get("step1").<Transaction, Transaction> chunk(10).reader(reader).processor(processor).writer(writer).build();
|
||||
}
|
||||
|
||||
@Bean(name = "firstBatchJob")
|
||||
|
|
|
@ -38,8 +38,7 @@ public class SpringConfig {
|
|||
}
|
||||
|
||||
@Bean
|
||||
public DataSourceInitializer dataSourceInitializer(DataSource dataSource)
|
||||
throws MalformedURLException {
|
||||
public DataSourceInitializer dataSourceInitializer(DataSource dataSource) throws MalformedURLException {
|
||||
ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator();
|
||||
|
||||
databasePopulator.addScript(dropReopsitoryTables);
|
||||
|
|
|
@ -48,9 +48,7 @@ public class Transaction {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Transaction [username=" + username + ", userId=" + userId
|
||||
+ ", transactionDate=" + transactionDate + ", amount=" + amount
|
||||
+ "]";
|
||||
return "Transaction [username=" + username + ", userId=" + userId + ", transactionDate=" + transactionDate + ", amount=" + amount + "]";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3,8 +3,7 @@ package org.baeldung.spring_batch_intro.service;
|
|||
import org.baeldung.spring_batch_intro.model.Transaction;
|
||||
import org.springframework.batch.item.ItemProcessor;
|
||||
|
||||
public class CustomItemProcessor implements
|
||||
ItemProcessor<Transaction, Transaction> {
|
||||
public class CustomItemProcessor implements ItemProcessor<Transaction, Transaction> {
|
||||
|
||||
public Transaction process(Transaction item) {
|
||||
System.out.println("Processing..." + item);
|
||||
|
|
|
@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class ChildDao extends AbstractHibernateDao<Child>implements IChildDao {
|
||||
public class ChildDao extends AbstractHibernateDao<Child> implements IChildDao {
|
||||
|
||||
@Autowired
|
||||
private SessionFactory sessionFactory;
|
||||
|
|
|
@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class FooDao extends AbstractHibernateDao<Foo>implements IFooDao {
|
||||
public class FooDao extends AbstractHibernateDao<Foo> implements IFooDao {
|
||||
|
||||
@Autowired
|
||||
private SessionFactory sessionFactory;
|
||||
|
|
|
@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class ParentDao extends AbstractHibernateDao<Parent>implements IParentDao {
|
||||
public class ParentDao extends AbstractHibernateDao<Parent> implements IParentDao {
|
||||
|
||||
@Autowired
|
||||
private SessionFactory sessionFactory;
|
||||
|
|
|
@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class ChildService extends AbstractService<Child>implements IChildService {
|
||||
public class ChildService extends AbstractService<Child> implements IChildService {
|
||||
|
||||
@Autowired
|
||||
private IChildDao dao;
|
||||
|
|
|
@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class FooService extends AbstractService<Foo>implements IFooService {
|
||||
public class FooService extends AbstractService<Foo> implements IFooService {
|
||||
|
||||
@Autowired
|
||||
private IFooDao dao;
|
||||
|
|
|
@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class ParentService extends AbstractService<Parent>implements IParentService {
|
||||
public class ParentService extends AbstractService<Parent> implements IParentService {
|
||||
|
||||
@Autowired
|
||||
private IParentDao dao;
|
||||
|
|
|
@ -4,7 +4,7 @@ import org.baeldung.persistence.model.Foo;
|
|||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class FooDao extends AbstractHibernateDao<Foo>implements IFooDao {
|
||||
public class FooDao extends AbstractHibernateDao<Foo> implements IFooDao {
|
||||
|
||||
public FooDao() {
|
||||
super();
|
||||
|
|
|
@ -8,6 +8,6 @@ import org.springframework.stereotype.Repository;
|
|||
|
||||
@Repository
|
||||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
public class GenericHibernateDao<T extends Serializable> extends AbstractHibernateDao<T>implements IGenericDao<T> {
|
||||
public class GenericHibernateDao<T extends Serializable> extends AbstractHibernateDao<T> implements IGenericDao<T> {
|
||||
//
|
||||
}
|
|
@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class ChildService extends AbstractHibernateService<Child>implements IChildService {
|
||||
public class ChildService extends AbstractHibernateService<Child> implements IChildService {
|
||||
|
||||
@Autowired
|
||||
private IChildDao dao;
|
||||
|
|
|
@ -10,7 +10,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class FooService extends AbstractHibernateService<Foo>implements IFooService {
|
||||
public class FooService extends AbstractHibernateService<Foo> implements IFooService {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("fooHibernateDao")
|
||||
|
|
|
@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class ParentService extends AbstractHibernateService<Parent>implements IParentService {
|
||||
public class ParentService extends AbstractHibernateService<Parent> implements IParentService {
|
||||
|
||||
@Autowired
|
||||
private IParentDao dao;
|
||||
|
|
|
@ -41,7 +41,6 @@ public class JPABarAuditTest {
|
|||
logger.info("tearDownAfterClass()");
|
||||
}
|
||||
|
||||
|
||||
@Autowired
|
||||
@Qualifier("barJpaService")
|
||||
private IBarService barService;
|
||||
|
@ -51,7 +50,6 @@ public class JPABarAuditTest {
|
|||
|
||||
private EntityManager em;
|
||||
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
logger.info("setUp()");
|
||||
|
@ -64,7 +62,6 @@ public class JPABarAuditTest {
|
|||
em.close();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public final void whenBarsModified_thenBarsAudited() {
|
||||
|
||||
|
@ -84,7 +81,6 @@ public class JPABarAuditTest {
|
|||
bar1.setName("BAR1b");
|
||||
barService.update(bar1);
|
||||
|
||||
|
||||
// get BAR1 and BAR2 from the DB and check the audit values
|
||||
// detach instances from persistence context to make sure we fire db
|
||||
em.detach(bar1);
|
||||
|
|
|
@ -4,7 +4,7 @@ import org.baeldung.persistence.model.Foo;
|
|||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class FooDao extends AbstractJpaDAO<Foo>implements IFooDao {
|
||||
public class FooDao extends AbstractJpaDAO<Foo> implements IFooDao {
|
||||
|
||||
public FooDao() {
|
||||
super();
|
||||
|
|
|
@ -30,7 +30,7 @@ public class User {
|
|||
private String email;
|
||||
|
||||
@ManyToMany(fetch = FetchType.EAGER)
|
||||
@JoinTable(name = "users_roles", joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
|
||||
@JoinTable(name = "users_roles", joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id") , inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id") )
|
||||
@JsonApiToMany
|
||||
@JsonApiIncludeByDefault
|
||||
private Set<Role> roles;
|
||||
|
|
|
@ -24,13 +24,16 @@ public class LoggingAspect {
|
|||
};
|
||||
|
||||
@Pointcut("@target(org.springframework.stereotype.Repository)")
|
||||
public void repositoryMethods() {}
|
||||
public void repositoryMethods() {
|
||||
}
|
||||
|
||||
@Pointcut("@annotation(org.baeldung.aop.annotations.Loggable)")
|
||||
public void loggableMethods() {}
|
||||
public void loggableMethods() {
|
||||
}
|
||||
|
||||
@Pointcut("@args(org.baeldung.aop.annotations.Entity)")
|
||||
public void methodsAcceptingEntities() {}
|
||||
public void methodsAcceptingEntities() {
|
||||
}
|
||||
|
||||
@Before("repositoryMethods()")
|
||||
public void logMethodCall(JoinPoint jp) {
|
||||
|
|
|
@ -16,7 +16,8 @@ public class PerformanceAspect {
|
|||
private static Logger logger = Logger.getLogger(PerformanceAspect.class.getName());
|
||||
|
||||
@Pointcut("within(@org.springframework.stereotype.Repository *)")
|
||||
public void repositoryClassMethods() {}
|
||||
public void repositoryClassMethods() {
|
||||
}
|
||||
|
||||
@Around("repositoryClassMethods()")
|
||||
public Object measureMethodExecutionTime(ProceedingJoinPoint pjp) throws Throwable {
|
||||
|
|
|
@ -21,13 +21,16 @@ public class PublishingAspect {
|
|||
}
|
||||
|
||||
@Pointcut("@target(org.springframework.stereotype.Repository)")
|
||||
public void repositoryMethods() {}
|
||||
public void repositoryMethods() {
|
||||
}
|
||||
|
||||
@Pointcut("execution(* *..create*(Long,..))")
|
||||
public void firstLongParamMethods() {}
|
||||
public void firstLongParamMethods() {
|
||||
}
|
||||
|
||||
@Pointcut("repositoryMethods() && firstLongParamMethods()")
|
||||
public void entityCreationMethods() {}
|
||||
public void entityCreationMethods() {
|
||||
}
|
||||
|
||||
@AfterReturning(value = "entityCreationMethods()", returning = "entity")
|
||||
public void logMethodCall(JoinPoint jp, Object entity) throws Throwable {
|
||||
|
|
|
@ -14,9 +14,6 @@ public class Foo {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Foo{" +
|
||||
"id=" + id +
|
||||
", name='" + name + '\'' +
|
||||
'}';
|
||||
return "Foo{" + "id=" + id + ", name='" + name + '\'' + '}';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,20 +13,19 @@ public class UserController {
|
|||
|
||||
@RequestMapping(value = "/", method = RequestMethod.GET)
|
||||
public String showForm(final Model model) {
|
||||
final User user = new User();
|
||||
user.setFirstname("John");
|
||||
user.setLastname("Roy");
|
||||
user.setEmailId("John.Roy@gmail.com");
|
||||
model.addAttribute("user", user);
|
||||
return "index";
|
||||
final User user = new User();
|
||||
user.setFirstname("John");
|
||||
user.setLastname("Roy");
|
||||
user.setEmailId("John.Roy@gmail.com");
|
||||
model.addAttribute("user", user);
|
||||
return "index";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/processForm", method = RequestMethod.POST)
|
||||
public String processForm(@ModelAttribute(value = "user") final User user,
|
||||
final Model model) {
|
||||
// Insert User into DB
|
||||
model.addAttribute("name", user.getFirstname() + " " + user.getLastname());
|
||||
return "hello";
|
||||
public String processForm(@ModelAttribute(value = "user") final User user, final Model model) {
|
||||
// Insert User into DB
|
||||
model.addAttribute("name", user.getFirstname() + " " + user.getLastname());
|
||||
return "hello";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -24,12 +24,12 @@ import static org.junit.Assert.assertThat;
|
|||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(classes = {TestConfig.class}, loader = AnnotationConfigContextLoader.class)
|
||||
@ContextConfiguration(classes = { TestConfig.class }, loader = AnnotationConfigContextLoader.class)
|
||||
public class AopLoggingTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
messages = new ArrayList<>();
|
||||
messages = new ArrayList<>();
|
||||
|
||||
logEventHandler = new Handler() {
|
||||
@Override
|
||||
|
|
|
@ -23,7 +23,7 @@ import static org.junit.Assert.assertThat;
|
|||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(classes = {TestConfig.class}, loader = AnnotationConfigContextLoader.class)
|
||||
@ContextConfiguration(classes = { TestConfig.class }, loader = AnnotationConfigContextLoader.class)
|
||||
public class AopPerformanceTest {
|
||||
|
||||
@Before
|
||||
|
|
|
@ -22,7 +22,7 @@ import java.util.regex.Pattern;
|
|||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(classes = {TestConfig.class}, loader = AnnotationConfigContextLoader.class)
|
||||
@ContextConfiguration(classes = { TestConfig.class }, loader = AnnotationConfigContextLoader.class)
|
||||
public class AopPublishingTest {
|
||||
|
||||
@Before
|
||||
|
@ -60,8 +60,7 @@ public class AopPublishingTest {
|
|||
dao.create(1L, "Bar");
|
||||
|
||||
String logMessage = messages.get(0);
|
||||
Pattern pattern = Pattern.compile("Created foo instance: " +
|
||||
Pattern.quote(new Foo(1L, "Bar").toString()));
|
||||
Pattern pattern = Pattern.compile("Created foo instance: " + Pattern.quote(new Foo(1L, "Bar").toString()));
|
||||
assertTrue(pattern.matcher(logMessage).matches());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import org.springframework.context.annotation.Configuration;
|
|||
import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
||||
|
||||
@Configuration
|
||||
@ComponentScan(basePackages = {"org.baeldung.dao", "org.baeldung.aop", "org.baeldung.events"})
|
||||
@ComponentScan(basePackages = { "org.baeldung.dao", "org.baeldung.aop", "org.baeldung.events" })
|
||||
@EnableAspectJAutoProxy
|
||||
public class TestConfig {
|
||||
}
|
||||
|
|
|
@ -19,8 +19,8 @@ public @interface PasswordMatches {
|
|||
|
||||
String message() default "Passwords don't match";
|
||||
|
||||
Class<?>[]groups() default {};
|
||||
Class<?>[] groups() default {};
|
||||
|
||||
Class<? extends Payload>[]payload() default {};
|
||||
Class<? extends Payload>[] payload() default {};
|
||||
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ public @interface ValidEmail {
|
|||
|
||||
String message() default "Invalid Email";
|
||||
|
||||
Class<?>[]groups() default {};
|
||||
Class<?>[] groups() default {};
|
||||
|
||||
Class<? extends Payload>[]payload() default {};
|
||||
Class<? extends Payload>[] payload() default {};
|
||||
}
|
||||
|
|
|
@ -20,8 +20,8 @@ public @interface ValidPassword {
|
|||
|
||||
String message() default "Invalid Password";
|
||||
|
||||
Class<?>[]groups() default {};
|
||||
Class<?>[] groups() default {};
|
||||
|
||||
Class<? extends Payload>[]payload() default {};
|
||||
Class<? extends Payload>[] payload() default {};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue