沿用上次的工程
新建两个类
Category和Producthtml
Category.javajava
public class 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; } private int id; private String name="category 1"; }
Product.javaspring
public class Product { private int id; private String name="product 1"; 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; } }
修改spring-config.xmlthis
<bean name="c" class="com.isdust.zor.pojo.Category"> <property name="name" value="category 1"/> </bean> <bean name="p" class="com.isdust.zor.pojo.Product"> <property name="name" value="product1" /> <property name="category" ref="c"/> </bean>
其中ref用来标记注入,将product注入到category中
执行结果以下:spa
修改product和category,加入注解,并赋予默认值3d
//为Product类加上@Component注解,即代表此类是bean @Component("p") public class Product { private int id; private String name="product 1"; @Autowired 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; } } //为Category 类加上@Component注解,即代表此类是bean @Component("c") public class 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; } private int id; private String name="category 1"; }
修改spring-config.xml,删除全部子标签,加入自动扫描code
<context:component-scan base-package="com.isdust.zor.pojo"/> <context:annotation-config/>
执行结果component
结果同xml指定相同xml
致谢
参考资料
官方文档
http://how2j.cn/k/spring/spri...htm