一.使用正常方式
study_spring/src/applicationContext.xml
1 2 3 4 5 6 7 8 | <bean name= "c" class = "com.how2java.pojo.Category" > <property name= "name" value= "category 1" /> </bean> <bean name= "p" class = "com.how2java.pojo.Product" > <property name= "name" value= "Product 1" /> <property name= "category" ref= "c" /> </bean> |
/study_spring/src/cn/leokim/pojo/Product.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | package cn.leokim.pojo; public class Product { private int id; private String name; private Category category; public int getId() { return id; } public void setId( int id) { this .id = id; } public String getName() { return name; } public void setName(String name) { this .name = name; } public Category getCategory(){ return category; } public void setCategory(Category category){ this .category = category; } } |
study_spring/src/cn/leokom/test/TestSpring.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package cn.leokim.pojo; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.how2java.pojo.Category; import com.how2java.pojo.Product; public class TestSpring { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext( new String[] { "applicationContext.xml" }); // Category c = (Category) context.getBean("c"); Product p = (Product) context.getBean( "p" ); // System.out.println(c.getName()); System.out.println(p.getCategory().getName()); } } |
二.注解方式
study_spring/src/applicationContext.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?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:aop= "http://www.springframework.org/schema/aop" xmlns:tx= "http://www.springframework.org/schema/tx" xmlns:context= "http://www.springframework.org/schema/context" xsi:schemaLocation=" http: //www.springframework.org/schema/beans http: //www.springframework.org/schema/beans/spring-beans-3.0.xsd http: //www.springframework.org/schema/aop http: //www.springframework.org/schema/aop/spring-aop-3.0.xsd http: //www.springframework.org/schema/tx http: //www.springframework.org/schema/tx/spring-tx-3.0.xsd http: //www.springframework.org/schema/context http: //www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:annotation-config/> <bean name= "c" class = "com.how2java.pojo.Category" > <property name= "name" value= "category 1" /> </bean> <bean name= "p" class = "com.how2java.pojo.Product" > <property name= "name" value= "Product 1" /> <!-- <property name= "category" ref= "c" />--> </bean> </beans> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | public class Product { private int id; private String name; // @Autowired @Resource (name= "c" ) private Category category; public int getId() { return id; } public void setId( int id) { this .id = id; } public String getName() { return name; } public void setName(String name) { this .name = name; } public Category getCategory(){ return category; } public void setCategory(Category category){ this .category = category; } } |
注解方式还可以更简单
1.applicationContext.xml去掉之前的配置,只用一行
1 | <context:component-scan base- package = "cn.leokim.pojo" /> |
2.在Category上添加注解
1 2 | @Component ( "c" ) public class Category { |
3.在product上添加注解
1 2 | @Component ( "p" ) public class Product { |
运行出来结果是一样的