Есть главный класс, который содержит конфигурацию бинов
package start;
@Configuration
@EnableAspectJAutoProxy(proxyTargetClass = true)
public class Main {
public static void main(String[] args) {
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Main.class);
Post post = new Post();
post.setFrom("User102");
java.util.Date date = new java.util.Date();
post.setDate(new Date(date.getTime()));
post.setName("Named Post");
new Main().shopImpl().addPost(post);
}
@Bean
public SimpleJdbcTemplate template(){
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUsername("root");
dataSource.setPassword("root");
dataSource.setUrl("jdbc:mysql://localhost:3306/shop?useLegacyDatetimeCode=false&serverTimezone=UTC");
return new SimpleJdbcTemplate(dataSource);
}
@Bean
public shopDAO shopImpl(){
shopDAOimpl s = new shopDAOimpl();
s.setSimpleJdbcTemplate(template());
return s;
}
@Bean
public Logging logging(){
System.out.println("LOGGGER CREATED");
return new Logging();
}
}
Класс аспекта :
@Aspect
public class Logging {
@Pointcut("execution(* *.addPost(..))")
public void exec(){}
@Before("exec()")
public void before(){
System.out.println("GETTING ALL POSTS");
}
@After("exec()")
public void after(){
System.out.println("AFTER GETTIN ALL POSTS");
}
}
Ну и DAO интрефейс и его реализация:
public interface shopDAO {
void addPost(Post post);
Post getPostById(long id);
void dropPostById(long id);
List<Post> getAllPosts(String id);
}
Вопрос: почему аспект абсолютно никак не реагирует на вызов метода addPost ?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Какой смысл потокобезопасности CollectionssynchronizedList если ее все равно нужно синхронизировать при итерации
Полагаю, что это один из самых распространенных вопросов от начинающихЯ учусь по учебнику с сайта ProgLang