SlideShare a Scribd company logo
Накрайников Олег
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
(BeanFactoryPostProce
ssor )
Создание бинов
(BeanFactory и
FactoryBean)
Настройка
созданных
BeanDefinition
BeanPostProcessor
Жизненный цикл бина
1. Вызов default конструктора
2. Запуск autowiring
3. Вызов
postProcessBeforeInitialization
интерфейса BeanPostProcessor
4. Вызов init-method
5. Вызов
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
Спасибо за внимание!

More Related Content

PPT
Deficiência visual capacitação 2011
PDF
Iodine, zinc and selenium
PPT
Deficiência visual power point
DOCX
Carta ao Senhor Ministro da Educação
PDF
Compreender baixa visao
PDF
Deficiencia Visual
PPTX
Resumo piaget vygotsky e wallon
PDF
Leitura infantil acção de formação para famílias
Deficiência visual capacitação 2011
Iodine, zinc and selenium
Deficiência visual power point
Carta ao Senhor Ministro da Educação
Compreender baixa visao
Deficiencia Visual
Resumo piaget vygotsky e wallon
Leitura infantil acção de formação para famílias

Viewers also liked (20)

PPTX
Java threads - part 1
PPTX
Java threads - part 3
PPTX
Java threads - part 2
PPTX
Java 8. Lambdas
PPT
Java persistence api
PDF
Gradle - Build System
PDF
20160523 hibernate persistence_framework_and_orm
ODP
Java Persistence API
PPTX
Spring Boot Update
PPTX
Cassandra for mission critical data
PDF
Java persistence api 2.1
PPTX
JPA For Beginner's
PDF
Second Level Cache in JPA Explained
PDF
DBM專案環境建置
PPTX
Get the Most out of Testing with Spring 4.2
PDF
JPA - Beyond copy-paste
PDF
Spring Data Jpa
PPTX
Spring.Boot up your development
PDF
Google Web Toolkit: a case study
Java threads - part 1
Java threads - part 3
Java threads - part 2
Java 8. Lambdas
Java persistence api
Gradle - Build System
20160523 hibernate persistence_framework_and_orm
Java Persistence API
Spring Boot Update
Cassandra for mission critical data
Java persistence api 2.1
JPA For Beginner's
Second Level Cache in JPA Explained
DBM專案環境建置
Get the Most out of Testing with Spring 4.2
JPA - Beyond copy-paste
Spring Data Jpa
Spring.Boot up your development
Google Web Toolkit: a case study
Ad

Spring 4. Part 1 - IoC, AOP