Zjednodušená definice parametrů bean ve Spring 2.0
13. February 2007
Spring Framework od svého vzniku v roce 2003 urazil velký kus cesty. Dnes je tu verze 2.0, která přináší oproti jedničkové řadě řadu zlepšení. Pokud chcete více informací přečtěte si dokument Whats new in Spring 2.0 (pdf, 669 KB).
Mezi novinky patří i možnost nového způsobu definice bean
v aplikačním kontextu. Povolenými elementy už nejsou pouze kořenový
element <beans>
a mateřské <bean>
.
V dnešním článku chci ukázat pouze jednu maličkost –
vzpomínanou zjednodušenou definici parametrů bean. Ukažme si to na
jednoduchém příkladu.
Definice POJOs
Potřebujeme dva „Hello World“ objekty. Nechť jsou to
například cz.vavru.spring.samples.Car
a
cz.vavru.spring.samples.Motor
.
package cz.vavru.spring.samples;
public class Car {
private int year;
private String Mark;
private Motor motor;
public Motor getMotor() {
return motor;
}
public void setMotor(Motor motor) {
this.motor = motor;
}
public String getMark() {
return Mark;
}
public void setMark(String mark) {
Mark = mark;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
}
package cz.vavru.spring.samples;
public class Motor {
private float power;
private int cubature;
public int getCubature() {
return cubature;
}
public void setCubature(int cubature) {
this.cubature = cubature;
}
public float getPower() {
return power;
}
public void setPower(float power) {
this.power = power;
}
}
Definice bean pomocí Spring 1.2
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="motor-skoda" class="cz.vavru.spring.samples.Motor">
<property name="power"><value>55</value></property>
<property name="cubature"><value>1398</value></property>
</bean>
<bean id="car" class="cz.vavru.spring.samples.Car">
<property name="year"><value>2004</value></property>
<property name="mark"><value>Škoda Fabia</value></property>
<property name="motor"><ref local="motor-skoda" /></property>
</bean>
</beans>
Definice bean pomocí Spring 2.0
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="motor-skoda" class="cz.vavru.spring.samples.Motor"
p:power="55"
p:cubature="1398"
/>
<bean id="car" class="cz.vavru.spring.samples.Car"
p:year="2004"
p:mark="Škoda Fabia"
p:motor-ref="motor-skoda"
/>
</beans>
Vtip spočívá právě v použití namespacu p
, který
validator (XSD) nevaliduje.
Odkazy
Článek patří do kategorie: Java, Spring Framework
1 Komentář Přidat komentář
1. kolisko | 12. April 2007 v 23.55
Dobry den,
Jaka je podpora namespace p v Eclipse / Spring IDE?
pokud pouziju starsi zapis
IDE hlida, jestli ma objekt metodu setYear. Plati tohle i v pripade pouziti p:year=„2004“ ?
Přidat komentář
Povolené HTML značky:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
Odkazovat na tento článek | Přihlásit se k odběru těchto komentářů přes RSS Feed