使用注解需要导入的依赖
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<!--开启注解支持-->
<context:annotation-config/>
</beans>
-
@Autowired:自动装配(在实体类中可以不写set方法,前提是这个属性在IOC容器中存在,且Bean中得id与属性名一致)。
它默认是通过ByType来实现自动装配。如果 Bean中得id不与属性名一致,一般要配合@Qualifier(value="XXX")注解一起使用public class person { //如果显式的定义了required为false,那么这个属性就可以为NULL,否则不可以 @Autowired(required = false) @Qualifier(value = "dog1") private Dog dog; @Autowired @Qualifier(value = "cat1") private Cat cat; private String name; }```
-
@Resource:这是java自带的自动配置,功能比@Autowired强大。但项目开发上一般用@Autowired。
@Resource默认是先通过ByName来实现自动装配,如果Name不一致再利用ByType去实现自动装配 -
@Component:component(组件)作用是将类托管到Spring中,使之成为Bean!用于pojo层(由于注解不能引用除自己之外的类,所以这个工作要给xml做)
与之同样功能的衍生出来的注解- @Controller 用于controller层
- @Repository 用于dao层
- @Service 用于service层
上面这四种注解的作用都一样,只是名字不同而已
-
@@Scope("singleton")//作用域的注解
-
@Value("Spring")//属性值注入的注解