Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c2ce4fe

Browse files
author
golonzovsky
committed
added Spring
1 parent b3e9587 commit c2ce4fe

File tree

1 file changed

+106
-0
lines changed

1 file changed

+106
-0
lines changed

Spring

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
----------------- Spring -----------------
2+
3+
Basic idea of IoC pattern. Benefits.
4+
By applying DI in your projects, you�ll find that your code will
5+
become significantly simpler, easier to understand, and easier to test.
6+
With DI, objects are given their dependencies at creation time
7+
by some third party that coordinates each object in the system. Objects aren�t
8+
expected to create or obtain their dependencies�dependencies are injected into the
9+
objects that need them.
10+
The key benefit of DI�loose coupling. If an object only knows about its
11+
dependencies by their interface (not by their implementation or how they�re
12+
instantiated), then the dependency can be swapped out with a different
13+
implementation without the depending object knowing the difference.
14+
One of the most common ways that a dependency will be swapped out is with a
15+
mock implementation during testing.
16+
17+
What is Spring configuration file? How does it look like?
18+
<?xml version="1.0"encoding="UTF-8"?>
19+
<beans xmlns="http://www.springframework.org/schema/beans"
20+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
21+
xsi:schemaLocation="http://www.springframework.org/schema/beans
22+
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" [...] >
23+
24+
[...]
25+
<bean id="knight"class="com.springinaction.knights.BraveKnight"> <constructor-argref="quest"/> </bean>
26+
<bean id="quest" class="com.springinaction.knights.SlayDragonQuest"/>
27+
[...]
28+
29+
</beans>
30+
31+
Out of the box bean scopes (singleton, prototype, request, session, global session)
32+
singleton Scopes the bean definition to a single instance per Spring container (default).
33+
prototype Allows a bean to be instantiated any number of times (once per use).
34+
request Scopes a bean definition to an HTTP request. Only valid when used with a
35+
web-capable Spring context (such as with Spring MVC).
36+
session Scopes a bean definition to an HTTP session. Only valid when used with a
37+
web-capable Spring context (such as with Spring MVC).
38+
global-session Scopes a bean definition to a global HTTP session. Only valid when used in a portlet context.
39+
40+
What are the types of Dependency Injection Spring supports?
41+
Injecting through constructors
42+
Injecting into bean properties
43+
44+
Autowiring. Types of autowiring.
45+
? byName�Attempts to match all properties of the autowired bean with beans
46+
that have the same name (or ID) as the properties. Properties for which there�s
47+
no matching bean will remain unwired.
48+
? byType�Attempts to match all properties of the autowired bean with beans
49+
whose types are assignable to the properties. Properties for which there�s no
50+
matching bean will remain unwired.
51+
? constructor�Tries to match up a constructor of the autowired bean with
52+
beans whose types are assignable to the constructor arguments.
53+
? autodetect�Attempts to apply constructor autowiring first. If that fails,
54+
byType will be tried.
55+
56+
What are inner beans.
57+
Inner beans are beans that are defined within the scope of another bean.
58+
Note that the inner beans don�t have an id attribute set. Though it�s perfectly legal
59+
to declare an ID for an inner bean, it�s not necessary because you�ll never refer to the
60+
inner bean by name. This highlights the main drawback of using inner beans: they
61+
can�t be reused. Inner beans are only useful for injection once and can�t be referred
62+
to by other beans.
63+
You may also find that using inner-bean definitions has a negative impact on the
64+
readability of the XML in the Spring context files.
65+
66+
What modules does Spring Framework have?
67+
Spring Framework Runtime
68+
DataAccess/Integration
69+
JDBC ORM OXM JMS
70+
Transactions
71+
Web (MVC/Remoting)
72+
Web Servlet Portlet Struts
73+
AOP Aspects Instumentation
74+
Core Container
75+
Beans Core Context ExpressionLanguage
76+
Test
77+
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/overview.html
78+
79+
Could you please tell us about Spring? What is the most important feature(s) of Spring?
80+
? Lightweight and minimally invasive development with plain old Java objects(POJOs)
81+
? Loose coupling through dependency injection and interface orientation
82+
? Declarative programming through aspects and common conventions
83+
? Boilerplate reduction through aspects and templates
84+
85+
What are ORM�s Spring supports ?
86+
Spring provides support for several persistence frameworks, including Hibernate,
87+
iBATIS, Java Data Objects (JDO), and the Java Persistence API (JPA).
88+
89+
How to integrate Spring and Hibernate using HibernateDaoSupport?
90+
not reccomended http://stackoverflow.com/questions/5104765/hibernatedaosupport-is-not-recommended-why
91+
1)configure session factory
92+
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation. AnnotationSessionFactoryBean">
93+
<propertyname="dataSource"ref="dataSource"/>
94+
<propertyname="packagesToScan" value="com.habuma.spitter.domain"/>
95+
<propertyname="hibernateProperties">
96+
<props>
97+
<propkey="dialect">org.hibernate.dialect.HSQLDialect</prop>
98+
</props>
99+
</property>
100+
</bean>
101+
2)create dao class by extending HibernateDaoSupport
102+
class ExampleDao extends HibernateDaoSupport {
103+
...
104+
List<aa> bb = (List<aa>)getHibernateTemplate().find("from cc");
105+
}
106+

0 commit comments

Comments
 (0)