IOC和DI的xml和注解的方式分别怎么写?注解与XMl的对应关系是怎样的?如哪个注解等价于哪个xml配置
时间: 2023-06-25 15:04:40 浏览: 55
IOC和DI是Spring框架的核心机制,用于实现对象的依赖关系管理。
在XML配置方式下,我们需要使用`<bean>`标签来定义bean对象,其中包含了bean的id、class、属性值等信息,如下所示:
```xml
<bean id="userService" class="com.example.UserService">
<property name="userDao" ref="userDao"/>
</bean>
<bean id="userDao" class="com.example.UserDao"/>
```
在注解方式下,我们可以使用`@Component`、`@Service`、`@Repository`、`@Controller`等注解来定义bean对象,如下所示:
```java
@Service
public class UserService {
@Autowired
private UserDao userDao;
}
@Repository
public class UserDao {
}
```
注解与XML的对应关系如下:
| XML配置 | 注解配置 |
| --- | --- |
| `<bean>` | `@Component`、`@Service`、`@Repository`、`@Controller`等 |
| `id`属性 | 类名首字母小写 |
| `class`属性 | 类的全限定名 |
| `<property>` | `@Autowired`、`@Value`等 |
| `name`属性 | 属性名 |
| `ref`属性 | `@Autowired` |
需要注意的是,XML配置方式和注解方式并不是完全等价的,有一些特殊的配置只能在XML中实现,比如AOP的配置。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)