package org.springframework.samples.config.basic.account;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.samples.config.basic.account.repository.AccountRepository;
import org.springframework.samples.config.basic.account.repository.InMemoryAccountRepository;
import org.springframework.samples.config.basic.account.service.TransferService;
import org.springframework.samples.config.basic.account.service.TransferServiceImpl;
@Configuration
public class AppConfig {
public @Bean TransferService transferService() {
return new TransferServiceImpl(accountRepository());
}
public @Bean AccountRepository accountRepository() {
return new InMemoryAccountRepository();
}
}
package org.springframework.samples.config.basic.account;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.samples.config.basic.account.domain.Account;
import org.springframework.samples.config.basic.account.repository.AccountRepository;
import org.springframework.samples.config.basic.account.service.TransferService;
public class TransferServiceTest {
@Test
public void transfer100Dollars() {
// create the spring container using the AppConfig @Configuration class
ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
// retrieve the beans we'll use during testing
AccountRepository accountRepository = ctx.getBean(AccountRepository.class);
TransferService transferService = ctx.getBean(TransferService.class);
// create accounts to test against
accountRepository.add(new Account("A123", 1000.00));
accountRepository.add(new Account("C456", 0.00));
// check account balances before transfer
assertThat(accountRepository.findById("A123").getBalance(), equalTo(1000.00));
assertThat(accountRepository.findById("C456").getBalance(), equalTo(0.00));
// perform transfer
transferService.transfer(100.00, "A123", "C456");
// check account balances after transfer
assertThat(accountRepository.findById("A123").getBalance(), equalTo(900.00));
assertThat(accountRepository.findById("C456").getBalance(), equalTo(100.00));
}
}
分享到:
相关推荐
Spring 3.0重要特性总结如下: ◆Spring表达式(SpEL):用于bean定义的核心表达式分析器 ◆对基于注释的组件的更多支持:允许通过元注释创建注释的“快捷方式” ◆标准化的依赖性注入注释:对Java中依赖性注入的...
Spring 3.0 MVC 框架是 Spring 的 Web 组件,提供了丰富的功能,为建设强大的 Web 应用程序。它可以毫不费力地与其他流行的 Web 框架集成,如 Struts、WebWork、Java Server Faces 和 Tapestry。Spring 3.0 MVC 框架...
在本项目中,我们主要探讨的是基于Maven和Spring 3.0 MVC框架,采用注解方式进行开发的一个Web应用程序,特别地,它还利用了SimpleJdbcTemplate进行数据操作。这个项目是一个基本的CRUD(创建、读取、更新、删除)...
SpringBoot 毕业设计,SpringBoot 课程设计,基于SpringBoot+Vue开发的,含有代码注释,新手也可看懂。ssm整合开发,小程序毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:...
在Spring 3.0之后,注解配置成为了主流,因为它简化了XML配置。在注解版本中,你可以在Controller类上直接使用`@Controller`注解,然后在处理方法上使用`@RequestMapping`注解。比如: ```java import org.spring...
《摩登春天:注释驱动的Spring 3.0 RESTful Web开发模式》 在现代Web开发中,RESTful架构风格已经成为构建Web服务的标准之一,它强调资源的表述和服务的无状态性。Spring框架,作为Java领域的重要支柱,自然也提供...
- **修正方式**:根据Spring 3.0的规范,`mvc:annotation-driven`元素可以采用空元素的形式,即`<mvc:annotation-driven/>`。如果需要添加自定义的配置,可以使用`mvc:annotation-driven`标签加上相应的子元素。题目...
Mule还整合了许多流行的开源项目,如Spring、ActiveMQ、CXF、Axis、Drools等,这极大地扩展了其功能性和可用性。 **4. JBI容器支持** 尽管Mule并没有基于JBI(Java Business Integration)标准构建,但它为JBI容器...
附件有3个project,分三个步骤对SSMy进行了搭建,先是struts2,再进行spring整合struts,第三个整合mybatis,以及注释,到数据库mysql,给正在初学的和已经忘记怎么搭建框架的coder,共享
### Spring Framework 3.0 开发教程核心知识点详解 #### 一、Spring Framework 概述 **1.1 节介绍Spring Framework** - **轻量级解决方案:** Spring Framework 是一个轻量级的解决方案,它能够帮助开发者轻松地...
值得注意的是,部分依赖如Druid数据库连接池和P6Spy SQL查询日志记录器的版本注释为“升级失败,下次再升”,表明这些依赖可能在尝试升级过程中遇到了问题,未来计划再次尝试升级。 此配置还包含了一些未升级的依赖...
7. **开发规范**:强调代码风格、命名规则、注释规范等,以保证代码的可读性和可维护性。 8. **部署与运维**:涵盖项目的部署策略,如Docker容器化部署、集群配置,以及监控、日志收集和性能优化等方面的实践。 9....
折腾了好几天,终于从零开始把spring mvc 3.0 + ibatis 3.0 (基于oracle)的Demo完全跑通了。Demo中有不少注释,使用的jar包基本是最精简的了。留着做个备用,也给大家一个参考!
简单springsecurity3.0的例子 做了详细注释,另外集成了tiles 和conversion插件,希望对你有帮助,里面有不对的地方请给我留言,我加你QQ一起讨论..注:我是通过maven管理的,如果你不是的话可能无法运行起来,只能看代码
赠送jar包:springfox-spring-web-3.0.0.jar; 赠送原API文档:springfox-spring-web-3.0.0-javadoc.jar; 赠送源代码:springfox-spring...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:springfox-spring-webflux-3.0.0.jar; 赠送原API文档:springfox-spring-webflux-3.0.0-javadoc.jar; ...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
SpringBoot 毕业设计,SpringBoot 课程设计,基于SpringBoot+Vue开发的,含有代码注释,新手也可看懂。ssm整合开发,小程序毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:...
spring mvc 包括 实现各种结构url 和get post 方式 跳转传参 提交等实例,有注释 是初学springmvc 必备入门级 参考.只需5分钟,看了代码就能让你掌握 spring mvc rest 的各种实现
赠送jar包:spring-cloud-context-3.0.4.jar; 赠送原API文档:spring-cloud-context-3.0.4-javadoc.jar; 赠送源代码:spring-cloud-...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:springfox-spring-webmvc-3.0.0.jar; 赠送原API文档:springfox-spring-webmvc-3.0.0-javadoc.jar; 赠送源代码:springfox-...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。