User.java
package cn.itcast.bean;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
/*@Component("user")
@Service("user") //Service层
@Controller("user") //web层
*/ @Repository("user1") //dao层
//<bean name="user" class="cn.itcast.bean.User">
//指定对象的作用域
//@Scope(scopeName="prototype")//singleton
//配置多个对象
public class User {
@Value("tom")
private String name;
@Value("18")
private Integer age;
//@Autowired //自动装配 问题:如果匹配多个类型一致的对象,将无法选择注入哪一个对象
//@Qualifier("car2")//高三spring容器装载哪一个对象
@Resource(name="car2")//手动注入,指定注入哪一个名称的对象
private Car car;
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + ", car=" + car + "]";
}
public Car getCar() {
return car;
}
public void setCar(Car car) {
this.car = car;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@PostConstruct//在对象呗创建之后调用 init-method
public void init() {
System.out.println("我是初始化的方法");
}
@PreDestroy//在对象销毁之前调用 destory-method
public void destory() {
System.out.println("我是销毁的方法");
}
}
Car.java
package cn.itcast.bean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component("car")
public class Car {
@Value("玛莎拉蒂")
private String name;
@Value("原谅绿")
private String color;
public String getName() {
return name;
}
@Override
public String toString() {
return "Car [name=" + name + ", color=" + color + "]";
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}