Spring 4. Part 1 - IoC, AOP

Preview:

Citation preview

Накрайников Олегuchonyy@gmail.com

Spring 4. Part 1

Java. The well-known and not well-known

IoC, AOP

Пролог. А что если скоро наступит spring?

О чем поговорим сегодня

▪ IoC принцип▪ Beans life cycle▪ AOP▪ Spring proxy

Spring Framework Runtime

Inversion of Control (IoC) – основные понятия

▪ BeanFactory и ApplicationContext▪ Bean и BeanDefinition▪ BeanFactory и FactoryBean▪ BeanFactoryPostProcessor и BeanPostProcessor

Этапы инициализации контекста

Парсинг конфигурации и

создание BeanDefinition

Настройка созданных BeanDefinition

(BeanFactoryPostProcessor )

Создание бинов(BeanFactory и FactoryBean)

Настройка созданных

BeanDefinitionBeanPostProcessor

Жизненный цикл бина1. Вызов default конструктора

2. Запуск autowiring3. Вызов postProcessBeforeInitialization интерфейса BeanPostProcessor4. Вызов init-method5. Вызов postProcessAfterInitialization

Приложение запущено и готово к работе

8. Вызов destroy()9. Вызов custom destroy-method

Definition

Pre-initialized

Ready

Destroyed

Области видимости(scopes) бинов

▪ singleton, prototype - Spring IoC▪ request, session, global session, application -

web-aware ApplicationContext

Слушатели

▪ @PostConstruct и @PreDestroy▪ BeanPostProcessor.postProcessBeforeInitialization() и

BeanPostProcessor.postProcessAfterInitialization() ▪ @EventListener

(AOP)– сквозная функциональность

public void doing() { try { connection.setAutoCommit(false); // To do connection.commit(); } catch (SQLException e ) { connection.rollback(); } catch (Exception e ) { // } }

@Transactional(rollbackFor = SQLException.class)public void doing() {

// To do }

Spring AOP

▪ Aspect (аспект)▪ Advice (cовет): before advice, after returning

advice, after throwing advice, after (finally) advice, around advice▪ Join point (точка соединения)▪ Pointcut (Срез)▪ Introduction (Внедрение)

Spring Proxy

Использованные источники

▪ http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/

▪ http://spring-projects.ru/guides/lessons/lesson-2/

▪ https://habrahabr.ru/post/222579/

▪ https://www.youtube.com/watch?v=U8MtGYa04v8

Спасибо за внимание!

Recommended