我正在使用注释创建服务:
@Service
@Repository
public class UserServiceImpl implements UserService {
private String defaultPassword;
@Autowired
private UserRepository userRepository;
// ...
@Override
public void setDefaultPassword(String defaultPassword) {
this.defaultPassword = defaultPassword;
}
@Override
public String getDefaultPassword() {
return defaultPassword;
}
}
我想defaultPassword
使用 Spring XML 配置而不是通过注释来配置值,所以我在 XML 定义中添加了以下内容:
<bean id="userServiceImpl" class="com.test.service.UserServiceImpl">
<property name="defaultPassword" value="youmustchangethis" />
</bean>
然后,我编写如下测试:
public class UserServiceImplTest extends AbstractServiceImplTest {
@Autowired
private UserService userService;
// ...
}
我已经在注释和 XML 声明中匹配了 bean 名称(使用 bean id)。我的问题是userService
变量是否UserServiceImplTest
总是由在 XML 和注释中配置的同一个单例 bean 注入?我搜索了文档,但没有找到像这样的“混合”方法的解释。