15. What do you mean by
Bean wiring ?
The act of creating associations
between application components (beans) within the Spring container is reffered
to as Bean wiring.
16. What do you mean by Auto
Wiring?
The Spring container is able to autowire relationships between
collaborating beans. This means that it is possible to automatically let Spring
resolve collaborators (other beans) for your bean by inspecting the contents of
the BeanFactory. The autowiring functionality has five modes.
==>no
==>byName
==>byType
==>constructor
==>autodirect
17. What is
DelegatingVariableResolver?
Spring provides a custom JavaServer Faces VariableResolver
implementation that extends the standard Java Server Faces managed beans
mechanism which lets you use JSF and Spring together. This variable resolver is
called as DelegatingVariableResolver.
18. How to
integrate Java Server Faces (JSF) with
Spring?
JSF and Spring do share some of
the same features, most noticeably in the area of IOC services. By declaring
JSF managed-beans in the faces-config.xml configuration file, you allow the
FacesServlet to instantiate that bean at startup. Your JSF pages have access to
these beans and all of their properties.We can integrate JSF and Spring in two
ways:
DelegatingVariableResolver:
Spring comes with a JSF variable resolver that lets you use JSF and Spring
together.
<?xml version="1.0"
encoding="UTF-8"?> <!DOCTYPE
beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd"> <faces-config>
<application> <variable-resolver> org.springframework.web.jsf.DelegatingVariableResolver
</variable-resolver> </application>
</faces-config>
The DelegatingVariableResolver
will first delegate value lookups to the default resolver of the underlying JSF
implementation, and then to Spring's 'business context' WebApplicationContext. This
allows one to easily inject dependencies into one's JSF-managed beans.
FacesContextUtils:custom
VariableResolver works well when mapping one's properties to beans in
faces-config.xml, but at times one may need to grab a bean explicitly. The
FacesContextUtils class makes this easy. It is similar to
WebApplicationContextUtils, except that it takes a FacesContext parameter
rather than a ServletContext parameter.
ApplicationContext ctx = FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance());
.png)