注:由于文档过长需要发再两篇文章里~!~
1、 结构图:
2、 Jar包:
3、 Outter.java
package com.flyfox.inner;
public class Outter {
private String omessage;
public String getOmessage() {
return omessage;
}
public void setOmessage(String omessage) {
this.omessage = omessage;
}
public void say() {
System.out.println(omessage);
}
//内部类Inner
public static class Inner {
private String imessage;
public String getImessage() {
return imessage;
}
public void setImessage(String imessage) {
this.imessage = imessage;
}
public void say() {
System.out.println(imessage);
}
}
}
4、 IAnimal.java
package com.flyfox.animal;
public interface IAnimal {
public void shout();
}
5、 Cat.java
package com.flyfox.animal;
public class Cat implements IAnimal {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public void shout() {
// TODO Auto-generated method stub
System.out.println("miao miao !!!");
}
public String toString(){
return name;
}
}
6、 Dog.java
package com.flyfox.animal;
public class Dog implements IAnimal {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public void shout() {
// TODO Auto-generated method stub
System.out.println("wang wang !!!");
}
public String toString(){
return name;
}
}
7、 IPerson.java
package com.flyfox.person;
public interface IPerson {
public void say();
public void feed();
}
8、 Person.java
package com.flyfox.person;
import com.flyfox.animal.Cat;
import com.flyfox.animal.Dog;
public class Person implements IPerson {
private String name;
private String age;
private Cat[] cat;
private Dog[] dog;
@Override
public void say() {
// TODO Auto-generated method stub
System.out.println("HelloWorld");
}
@Override
public void feed() {
// TODO Auto-generated method stub
System.out.print(name + " feed " + dog.length + " dog--");
for (int i = 0; i < dog.length; i++) {
System.out.print(dog[i] + " ");
}
System.out.println();
System.out.print(name + " feed " + cat.length + " cat--");
for (int i = 0; i < cat.length; i++) {
System.out.print(cat[i] + " ");
}
System.out.println();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public Cat[] getCat() {
return cat;
}
public void setCat(Cat[] cat) {
this.cat = cat;
}
public Dog[] getDog() {
return dog;
}
public void setDog(Dog[] dog) {
this.dog = dog;
}
}
9、 IHello.java
package com.flyfox.hello;
public interface IHello {
public void sayHello();
}
10、 Hello.java
package com.flyfox.hello;
public class Hello implements IHello{
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@Override
public void sayHello() {
// TODO Auto-generated method stub
System.out.println(message);
}
}
11、 Test.java
package test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import com.flyfox.hello.Hello;
import com.flyfox.inner.Outter;
import com.flyfox.inner.Outter.Inner;
import com.flyfox.person.Person;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
// testHello();
//testHello1();
// testHello2();
testPerson();
// testInner();
}
public static void testHello() {
System.out.println("testHello.....");
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
System.out.println("Create hello bean.....");
Hello hello = (Hello) ctx.getBean("hello");
System.out.println("Run sayHello().....");
hello.sayHello();
}
public static void testPerson() {
System.out.println("testPerson.....");
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
Person person = (Person) ctx.getBean("person");
person.say();
person.feed();
}
public static void testInner() {
System.out.println("testInner.....");
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
Outter outter = (Outter) ctx.getBean("outter");
outter.say();
Inner inner = (Inner) ctx.getBean("inner");
inner.say();
}
// ApplicationContext转为为BeanFactory再获取bean
public static void testHello1() {
System.out.println("testHello1.....");
Resource res = new FileSystemResource("src/applicationContext.xml");
BeanFactory beanFactory = new XmlBeanFactory(res);
// ApplicationContext ctx = new ClassPathXmlApplicationContext(
// "applicationContext.xml");
// BeanFactory beanFactory = ctx;
Hello hello = (Hello) beanFactory.getBean("hello");
hello.sayHello();
}
// ClassPathXmlApplicationContext可以放入String[] 存放多个xml文件
public static void testHello2() {
System.out.println("testHello2.....");
ApplicationContext ctx = new ClassPathXmlApplicationContext(
new String[] { "applicationContext.xml" });
BeanFactory beanFactory = ctx;
Hello hello = (Hello) beanFactory.getBean("hello");
hello.sayHello();
}
}