IOC和DI只是一种思想
而Spring 是这个思想实现之一
IOC
IOC:控制反转,将手动创建对象的控制权交给IOC容器来管理,帮你创建对象的
DI
DI:依赖注入,,将对象属性设值
注解
@Autowired: spring提供的,先从类型中找,若有多个相同类型,再从名称中找,都没则报错.
@Value: spring提供的,完成属性或字段的注入
@Resource: javaee提供的,先按名字找,再按类型找,都找不到则报错
@Qualifier:很少用,依赖于Autowired一起用,指定名称寻找bean
//以下注解贴类上,直接生成对应的bean(默认名是类名第一个字母小写),则无需再写bean到spring.xml 的配置文件上
@Repository:用于标注数据访问组件,即 DAO 实现类上。
@Service:用于标注业务层实现类上。
@Controller:用于标注控制层类上
@Component:当不是以上的话,可以使用这个注解进行标注。
@Scope:贴在类上,标明 bean 的作用域。 (很少用)
@PostConstruct:贴在方法上,标明 bean 创建完后调用此方法,也就是初始化方法 (很少用)
@PreDestroy:贴在方法上,标明容器销毁时调用此方法,也就是销毁方法(很少用)