Есть главный класс, который содержит конфигурацию бинов
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 ?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Какой смысл потокобезопасности CollectionssynchronizedList если ее все равно нужно синхронизировать при итерации
Полагаю, что это один из самых распространенных вопросов от начинающихЯ учусь по учебнику с сайта ProgLang