Spring常用注解
原始注解
原始注解用于代替spring配置文件中的Bean配置,简化我们的开发
@Component
@Component
用于实例化Bean,作用在类上,应用于所有层。
@Component("id") //id为getBean()时使用的标识符
@Controller
@Controller
与@component使用方法相同,作用于web层上的类
@Service
@Service
与@component使用方法相同,作用于Service层上的类
@Repository
@Repository
与@component使用方法相同,作用于Dao层上的类
@Autowired
@Autowired
用于在字段上根据类型依赖注入
@Qualifier
@Qualifier
结合 @Autowired
一起使用,用于根据名称进行依赖注入,若spring配置文件中已经有该类的Bean或已经在类上添加@Component
注解,则可以不写 @Qualifier
,自动进行依赖注入,基本格式
@Autowired
@Qualifier("userDao") //此时已提前在其类上添加注解,可以使用@Autowried自动装配,所以本行可以省略
private UserDao dao;
@Resource
@Resource
相当于@Qualifier
+@Autowired
,按名称进行依赖注入,基本格式
@Resource(name = "userDao")
private UserDao dao;
@Value
@Value
注解用于给属性赋值,例如读取配置文件,使用context命名空间添加配置参数
<context:property-placeholder location="classpath:druid.properties" ></context:property-placeholder>
后即可使用类似el表达式方式取配置文件中该参数
@Value("${driver}") //其中driver为druid.properties文件中的key键
private String driver
@Scope
@Scope
注解作用于Bean类上,即配置文件中的Scope属性,用于控制Bean的作用域,主要参数有两个signleton
单例,仅实例化一个类, prototype
多例,实例化多个类,即地址不同