spring 常用注解
程序员文章站
2022-07-15 10:23:58
...
1. 用于创建对象
作用就和在xml配置文件中标签实现的功能是一样的
-
Component 作用:把当前类对象存入spring容器中 属性:value ,用于指定bean的id,它的默认值为当前类名,且首字母改小写
-
Controller:一般用于业务层
-
Service:一般用于服务层
-
Repository:一般用于持久层
-
以上三个注解他们的作用与Component相同
他们是spring框架为我们提供明确的三层使用的注解,使我们的三层对象更加清晰
2. 用于注入数据
-
作用就和在xml配置文件中<property>标签的作用是一样的
-
Autowired 作用: 自动按照类型注入。只要容器中有唯一的bean对象类型和要注入的变量类型匹配,就可以注入成功 如果ioc容器中没有任何bean类型和要注入的变量类型匹配,则报错 如果ioc容器中有多个类型匹配时: 出现位置: 可以是变量上,也可以在方法上 细节: 使用注解注入时,set方法就不是必须的了
-
Qualifier: 作用:在按照类注入的基础上再按照名称注入。它在给类成员注入时不能单独使用。但是在给方法参数注入时可以 属性: value:用于指定注入bean的id
-
Resource 作用:直接按照bean的id注入。它可以独立使用 属性: name:用于指定bean的id
-
以上三个注解只能注入其他bean类型的数据,而基本类型和string类型无法使用上述注解实现。
-
另外,集合类型的注入只能通过xml来实现。
-
Value 作用:用于注入基本类型和string基本类型 属性:value:用于指定数据的值。他可以使用spring中的SpEl(也就是spring的el表达式) SpEL的写法:${表达式}
-
3. 用于改变作用范围
作用就和在xml配置文件中scope属性的作用是一样的 -
scpe 作用:用于指定bean的作用范围 属性: value:指定范围的取值.常用取值:singleton prototype
-
3.和生命周期相关的(了解)
作用就和在xml配置文件中init_method和destroy_method 属性的作用是一样的
-
PreDestroy 作用:用于指定销毁方法
-
PostConstruct 作用:用于指定初始化方法
@Service(value = "accountService")
// @Scope(value = "prototype")
public class AccountServiceImpl implements IAccountService {
/**
@Autowired
@Qualifier("accountDao2")
*/
@Resource(name = "accountDao2")
private IAccountDao accountDao = null;
@PostConstruct
public void init() {
System.out.println("初始化方法执行");
}
@PreDestroy
public void destroy() {
System.out.println("销毁方法执行");
}
public void saveAccount() {
accountDao.saveAccount();
}
}
上一篇: 【3】IOC创建对象的方式
下一篇: HelloSpring