27
Day 23

Java Course Day 23

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Java Course Day 23

Day 23

Page 2: Java Course Day 23

Spring?

Page 3: Java Course Day 23

Container

Page 4: Java Course Day 23

Container

DI

Page 5: Java Course Day 23

Container

DIAOP

Page 6: Java Course Day 23

Container

DIAOP

Framework

Page 7: Java Course Day 23

Container

DIAOP

Framework

Lightweight

Page 8: Java Course Day 23
Page 9: Java Course Day 23

Bean Configuration

Page 10: Java Course Day 23

<bean id="employee" class="com.all4rest.domain.Employee" />

Page 11: Java Course Day 23

<bean id="employee" class="com.all4rest.domain.Employee" > <constructor-arg name="name" value="oleg" /> <constructor-arg name="salary" value="200.00" /></bean>

Page 12: Java Course Day 23

<bean id="employee" class="com.all4rest.domain.Employee" > <property name="name" value="oleg" /></bean>

Page 13: Java Course Day 23

<bean id="salonService" class="com.all4rest.domain.SalonService" > <property name="name" value="haircut" /></bean>

<bean id="employee" class="com.all4rest.domain.Employee" > <property name="salonService" ref="salonService" /></bean>

Page 14: Java Course Day 23

<bean id="employee" class="com.all4rest.domain.Employee" > <property name="salonService" > <bean class="com.all4rest.domain.SalonService" /> </property></bean>

Page 15: Java Course Day 23

<bean id="service.haircut" class="com.all4rest.domain.SalonService" > <property name="name" value="haircut" /></bean>

<bean id="service.manicure" class="com.all4rest.domain.SalonService" > <property name="name" value="manicure" /></bean>

<bean id="employee" class="com.all4rest.domain.Employee" > <property name="salonServices" > <list> <ref bean="service.haircut" /> <ref bean="service.manicure" /> </list> </property></bean>

<list>, <set>, <map>, <props>

Page 16: Java Course Day 23

<bean id="employee" class="com.all4rest.domain.Employee" > <property name="name" ><null /></property></bean>

Page 17: Java Course Day 23

Autowiring(byName, byType, constructor, auto-detect)

Page 18: Java Course Day 23
Page 19: Java Course Day 23
Page 20: Java Course Day 23

<bean id="employee" class="com.all4rest.domain.Employee“ scope="prototype" /> singleton request session web

Bean scoping

Page 21: Java Course Day 23

<bean id="employee" class="com.all4rest.domain.Employee“ factory-bean="employeeFactory“ factory-method="createEmployee" />

Factories

Page 22: Java Course Day 23

<bean id="employee" class="com.all4rest.domain.Employee“ init-method="employeeInit“ destroy-method="employeeDestroy" />

Initialization/Destruction methods

Page 23: Java Course Day 23

<bean id="abstractEmployee" class="com.all4rest.domain.AbstractEmployee“ abstract="true"/>

<bean id="employee" class="com.all4rest.domain.Employee“ parent="abstractEmployee" />

Parent/child beans

Page 24: Java Course Day 23

<bean id="contextRefreshListener“ class="com.all4rest.ContextRefreshListener" />

public class ContextRefreshListener implements ApplicationListener {

public void onApplicationEvent(ApplicationEvent event) { if (event instanceof ContextRefreshedEvent) { // do my staff } }}

Handling Application Events

Page 25: Java Course Day 23

BeanNameAware

ApplicationContextAware

Page 26: Java Course Day 23

AOP(aspect, advice, pointcut)

Page 27: Java Course Day 23