您的位置:首页 > 编程语言 > Java开发

Spring使用注解依赖注入

2017-04-17 21:23 489 查看
Spring
提供了几个注解来标注
Spring bean


1.
@Component
: 标注一个普通的
Spring Bean


2.
@Controller
: 标注一个控制器组件类

3.
@Service
: 标注一个业务逻辑组件类

4.
@Repository
: 标注一个
DAO
组件类

还需要让
Spring
搜索指定包,将指定路径下的带有上述注解修饰的
Java
类作为
Bean


@Scope
指定
Bean
的作用域,如
@Scope("prototype")
@Scope("singleton")


@Resource(name = "xxx")
将容器中名为
xxx
的对象注入

PostConstruct
修饰的方法会和
init-method
指定的方法一样,会在该
Bean
注入后被调用。

@PreDestory
修饰的方法和
destory-method
指定的方法一样,会在
Bean
销毁前调用。

@DependsOn
强制初始化其他的
Bean


@DependsOn({"x1", "x2"})
当前
Bean
被初始化之前,会强制初始化
x1
x2
两个
Bean


@Lazy(true)
被修饰的类不会被预初始化

Autowired
指定自动装配

   1. 修饰方法

@Autowired
public void setAxe(Axe axe) {}


   
Spring
容器自动搜索类型为
Axe
Bean
实例注入到
axe
中,如果有多个
Axe
类型的
Bean
,抛出异常。

   2.修饰变量和修饰方法类似

   3.修饰变量数组

@Autowired
private Axe[] axes;


   修饰的变量为数组,则
Spring
会搜索容器中所有
Axe
类型的
Bean
,将这些
Bean
作为数组注入到
axes
中。

@Qualifier
根据
Bean
id
自动装配

@Autowired
@Qualifier("axe")
private Axe axe;


   将容器中
id
axe
Bean
注入到
axe
中。

这样的注入相当于
@Resource(name = "axe")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: