为什么在依赖注入上使用java进行注释

问题描述 投票:0回答:1

所以我第一次阅读依赖注入。我想我已经弄明白了,我已经理解了为PHP编写的一个例子。虽然,我正在阅读这个JAVA教程,但它坚持要添加注释。如果我打算在外部使用构造函数提供类依赖,那么为什么需要注释呢?另外,我正在阅读Spring框架,它还指出您需要注释。注释如何适应?任何信息表示赞赏。

java web dependency-injection annotations
1个回答
2
投票

为什么需要注释?

无论您需要XML配置还是注释,这取决于您。 Spring使用注释作为XML的替代方法来进行声明性配置。

让我们举个例子,你想通过构造函数传递依赖。 Department对象依赖于Employee对象来创建它。 Employee对象有两个属性id和name。

  1. 通过使用注释你怎么做? @Configuration @ComponentScan("com.example.spring") public class Config { @Bean public Employee employee() { return new Employee("1", "John"); } }

现在创建Department对象:

@Component
public class Department {

    @Autowired
    public Department (Employee employee) {
        this.employee= employee;

    }
}
  1. 通过使用XML: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="department" class="com.example.spring.Department"> <constructor-arg index="0" ref="employee"/> </bean> <bean id="employee" class="com.example.spring.Employee"> <constructor-arg index="0" value="1"/> <constructor-arg index="1" value="John"/> </bean>
  2. 通过使用Java:你可以做类似的事情 Employee employee=new Employee("1","John"); Department dept=new Department(employee);

重点是,这取决于你想做什么。

看看这个问题Xml configuration versus Annotation based configuration

© www.soinside.com 2019 - 2024. All rights reserved.