newstyles项目实战(六)框架整合测试

在测试之前,我们还需要添加一些静态资源,虽然现在和测试的内容关系不大,但是其对于项目以后的页面显示有很大的作用,建立的jsp,样式表css和一些js代码都做伪静态资源放置到src/main/java/webapp/WEB-INF/文件夹下面,分别简建立三个文件夹分别盛放js代码,css资源和jsp页面。

      对于测试,采用一个简单的查询测试,比如根据商品id查询商品信息。跟据商品id查询商品信息。

用sql语句表示则为:

SELECT * from tb_item WHERE id=536563

由此,我们需要添加的内容为service层的业务逻辑,即这个查询逻辑。所以在newstyles-manager-service工程下面的com.newstyles.service文件夹下面写一个ItemService接口和其实现类ItemServiceImpl:

public interface ItemService {
	
	TbItem getItemById(long itemId);

}
对于查询的内容,我们将通过返回一个json数据的形式,由此,我们需要使用到逆向工程生成的TbItem的对象,其对应的实现类为:

@Service   //添加Service注解,在扫描包时可以将ItemService的实现类对象放到容器中
public class ItemServiceImpl implements ItemService {

	//自动装配,利用spring容器中的itemMaapper对象自动装配
	@Autowired
	private TbItemMapper itemMapper;
	
	//实现类中实现声明的方法
	@Override
	public TbItem getItemById(long itemId) {
		// TODO Auto-generated method stub
		//
		TbItemExample example = new TbItemExample();
		
		//添加查询条件
		Criteria criteria = example.createCriteria();
		criteria.andIdEqualTo(itemId);
		List<TbItem> list = itemMapper.selectByExample(example);
		
		if(list != null && list.size() > 0){
			TbItem item = list.get(0);
			return item;
		}
		
		return null;
	}

	
}

这样,业务逻辑可以放一放了,但是要实现从网页上查询还差一个conroller层的编写,因为我们通过springmvc来控制,同时,还要使用springmvc的视图进行显示,所以,需要在controller层中编写这些业务,因为springmvc不提供服务。(位置为:newstyles-manager-web工程下面的src/main/java/com/newstyles/controller/)

@Controller
public class ItemController {
	
	@Autowired
	private ItemService itemService;
	
//	配置url和方法的映射关系
	@RequestMapping("/item/{itemId}")
	//返回一个json数据
	@ResponseBody
	public TbItem getItemById(@PathVariable Long itemId){
		TbItem tbItem = itemService.getItemById(itemId);
		return tbItem;
	}
	

}
注意不要忘了加上Controller注解,使得ItemController能够被springmvc指定扫描的时候扫描到,将其放置到spingmvc容器中。


启动项目(maven build)进行测试,测试结果可能会出现404界面,可能是在springmvc的配置文件中,没有指定springmvc扫描对应的controller包;如指定好了,运行的时候出现了异常,http 500 ,根据报错信息,可以判断出是缺少mapper映射文件,而我们在项目中已经有了,而且是mybatis逆向生成的,通过分析.m2/responsery/对应的项目文件中可以发现,没有对应的映射文件,所以我们此时应该修改一下mapper的xml文件,加上以下内容;

<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
	<build>
		<resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
	</build>

这个的意思是,将src/main/java/文件夹下面的properties,xml文件作为资源一并添加。

所以此时测试,测试成功,返回一个json格式的数据:



到这里说明,我们的项目能够整体组合在一起了,能够较为顺利的运行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值