Configurări XML
Încă există = se pot folosi. Unele lucruri sunt mai simple cu XML. Se poate separa mai bine de restul codului.
---- application-context.xml ----
<beans xmlns="" xmlns:xi="" xsi:schemaLocation="">
<bean name="" class="cale_completă_către_implementare" >
<property name="speakerRep" ref="speakerRep"> </property> <!-- setter injection: name definește care setter, iar ref valoarea parametrului (definit mai sus, ca alt bean) -->
</bean>
<bean name="" class="cale_completă_către_implementare" >
<constructor-arg index="0" ref="speakerRep"> </constructor-arg> <!-- constructor injection -->
</bean>
</beans>
Beans
- în esență sunt clase
- înlocuiesc ce urmează după new
- se obțin tot cu appContext.getBean(...)
Autowiring
- byType - face wire cu o instanță de tipul cerut (trebuie să fie unică)
- byName - face wire după numele bean-ului
- constructor
- no (nu dă voie să se facă autowiring)
<bean name="" class="cale_completă_către_implementare" autowire="constructor">
</bean>
Factory Bean
SpEL = Spring Expression Language - folosit mai mult în librării
@Value ("#{ T(java.lang.Math.random() * 100) }") // se determină la runtime, util în chestiuni de securitate
private double seedNum;
Spring AOP Proxies
Bean Profiles
@Profile("dev")
public class HibernateSpeakerRepositoryImpl implements SpeakerRepository {
. . .
}
public class HibernateSpeakerRepositoryImpl implements SpeakerRepository {
. . .
}
VM option: -Dspring.profiles.active=dev
Altfel, bean-ul nu este disponibil.
Niciun comentariu:
Trimiteți un comentariu