summaryrefslogtreecommitdiffstats
path: root/sandbox/slaws/spring/src/main/java/app
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/slaws/spring/src/main/java/app')
-rw-r--r--sandbox/slaws/spring/src/main/java/app/MyBean.java55
-rw-r--r--sandbox/slaws/spring/src/main/java/app/Test.java66
2 files changed, 121 insertions, 0 deletions
diff --git a/sandbox/slaws/spring/src/main/java/app/MyBean.java b/sandbox/slaws/spring/src/main/java/app/MyBean.java
new file mode 100644
index 0000000000..2fa7d72e65
--- /dev/null
+++ b/sandbox/slaws/spring/src/main/java/app/MyBean.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package app;
+
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.beans.factory.access.BeanFactoryLocator;
+import org.springframework.beans.factory.access.BeanFactoryReference;
+import org.springframework.beans.factory.access.SingletonBeanFactoryLocator;
+
+public class MyBean {
+
+ private String field1;
+ private MyBean anotherBean;
+ private BeanFactory factory;
+
+ public String getField1() {
+ return field1;
+ }
+
+ public void setField1(String field1) {
+ this.field1 = field1;
+ }
+
+ public MyBean getAnotherBean() {
+ return anotherBean;
+ }
+
+ public void setAnotherBean(MyBean anotherBean) {
+ this.anotherBean = anotherBean;
+ }
+
+ public BeanFactory getFactory() {
+ return factory;
+ }
+
+ public void setFactory(BeanFactory factory) {
+ this.factory = factory;
+ }
+}
diff --git a/sandbox/slaws/spring/src/main/java/app/Test.java b/sandbox/slaws/spring/src/main/java/app/Test.java
new file mode 100644
index 0000000000..81a71faaf8
--- /dev/null
+++ b/sandbox/slaws/spring/src/main/java/app/Test.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package app;
+
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.beans.factory.access.BeanFactoryLocator;
+import org.springframework.beans.factory.access.BeanFactoryReference;
+import org.springframework.beans.factory.access.SingletonBeanFactoryLocator;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+/**
+ */
+public class Test {
+
+ public static void main(String[] args) {
+ // single app context
+/*
+ ApplicationContext context1 = new ClassPathXmlApplicationContext("context1.xml");
+ MyBean myBean1 = (MyBean) context1.getBean("mybean1");
+ System.out.println("mybean1 " + myBean1.getField1());
+ System.out.println("mybean2 " + myBean1.getAnotherBean().getField1());
+*/
+
+ // multi app context - recursive composition
+/*
+ ApplicationContext context2 = new ClassPathXmlApplicationContext("context2.xml");
+ MyBean myBean3 = (MyBean) context2.getBean("mybean4");
+ System.out.println("mybean3 " + myBean3.getField1());
+ System.out.println("mybean1 " + myBean3.getAnotherBean().getField1());
+*/
+
+ // multi app context - declarative app context read from bean
+ ApplicationContext context2 = new ClassPathXmlApplicationContext("context3.xml");
+ MyBean myBean3 = (MyBean) context2.getBean("mybean3");
+ MyBean myBean1 = (MyBean) myBean3.getFactory().getBean("mybean1");
+ System.out.println("mybean1 " + myBean1.getField1());
+ System.out.println("mybean2 " + myBean1.getAnotherBean().getField1());
+
+ // multi app context - declarative app context read from file
+/*
+ BeanFactoryLocator bfLocator = SingletonBeanFactoryLocator.getInstance();
+ BeanFactoryReference bfReference = bfLocator.useBeanFactory("context3.xml");
+ BeanFactory factory = bfReference.getFactory();
+ MyBean myBean1 = (MyBean) factory.getBean("mybean1");
+ System.out.println("mybean1 " + myBean1.getField1());
+ System.out.println("mybean2 " + myBean1.getAnotherBean().getField1());
+*/
+ }
+}