File: Main.java
import java.util.List;
import java.util.Map;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionException;
import org.springframework.transaction.support.AbstractPlatformTransactionManager;
import org.springframework.transaction.support.DefaultTransactionStatus;
public class Main {
private static void printMap(Map z) {
for (Object o : z.entrySet()) {
Map.Entry e = (Map.Entry) o;
System.out.println(e.getKey() + " => " + e.getValue().getClass() + " " + e.getValue());
}
}
private static void printList(List y) {
for (Object o : y) {
System.out.println(o.getClass() + " " + o);
}
}
public static void main(String[] args) throws Exception {
ApplicationContext context = new ClassPathXmlApplicationContext("classpath*:**/context.xml");
List y = (List) context.getBean("Y");
printList(y);
Map z = (Map) context.getBean("Z");
printMap(z);
Map p = (Map) context.getBean("P");
printMap(p);
}
}
class MyTransactionManager extends AbstractPlatformTransactionManager {
@Override
protected Object doGetTransaction() throws TransactionException {
System.out.println("doGetTransaction");
return new Object();
}
@Override
protected void doBegin(Object object, TransactionDefinition transactionDefinition)
throws TransactionException {
System.out.println("doBegin");
}
@Override
protected void doCommit(DefaultTransactionStatus defaultTransactionStatus)
throws TransactionException {
System.out.println("doCommit");
}
@Override
protected void doRollback(DefaultTransactionStatus defaultTransactionStatus)
throws TransactionException {
System.out.println("doRollback");
}
}
class SimpleBean {
private String name;
private String value;
public SimpleBean() {
this.name = "My name";
this.value = "My value";
}
public String getName() {
return name;
}
public String getValue() {
return value;
}
}
File: Main.properties
foo=bar
baz=foobar
File: context.xml
<?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:util="http://www.springframework.org/schema/util"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
<bean id="transactionManager" class="MyTransactionManager"/>
<util:constant id="X" static-field="java.lang.Integer.MAX_VALUE"/>
<util:list id="Y" list-class="java.util.ArrayList">
<value>value1</value>
<ref bean="X"/>
</util:list>
<util:list id="greetingsList">
<value>Hello, world</value>
<value>How are you doing today?</value>
</util:list>
<util:map id="Z" map-class="java.util.HashMap">
<entry key="x" value="y"/>
<entry key="y"><ref bean="X"/></entry>
</util:map>
<util:properties id="P" location="classpath:Main.properties"/>
<bean id="simple" class="SimpleBean"/>
<util:property-path id="Q" path="simple.name"/>
<util:set id="S" set-class="java.util.HashSet">
<value>foo</value>
<ref bean="X"/>
</util:set>
</beans>
|