依赖注入:本质就是对类中的变量进行赋值操作!
spring 使用注解标注类,spring容器通过包扫描注解,将这些标注了spring注解的类管理起来。
1、@service注解:
标注在一个service层的业务类上,告诉spring容器这是一个service层业务类,spring就会自动创建这个类的实例,在你需要这个对象的地方将它注入。
标注了这个注解的类在spring容器中生成的对象的id默认是首字母小写的类名,也可以由自己指定@service(\"name\")
2、@Reposity注解:
标注在dao层的类或接口上,告诉spring容器这是一个dao层的类或接口,spring容器自动创建这个类的实例并且管理起来。默认id是类名或接口名首字母小写,可自己指定。
3、@Component注解:
万能注解,它可以标注在你写的任意类上,在类上标注了这个注解,就会将这个类交由spring容器来进行管理,包括创建实例和依赖注入。
4、@Qualifier注解和Autowired注解:
1)@Autowiired注解标注在变量上,让spring容器根据变量的类型来进行自动的依赖注入
2)@Qualifier注解标注在变量上,让spring容器根据实例的id来实现依赖注入。是解决Autowired注解的不足的一个注解,因为当spring容器中有两个及以上的相同类型的实例对象时,使用@Autowired注解就无法实现自动注入,spring容器无法知道注入哪一个实例就会报错。这时使用@Qualifier注解根据id来依赖注入就可以解决问题。这两个注解是互相搭配来使用的。
3)也可以使用@Value(#{“bean的id”})和@Resource(name=“bean的id”)来实现依赖注入