SSM开发之Spring整合

Spring用到的jar包有:spring-beans-4.0.0.RELEASE.jar、spring-context-4.0.0.RELEASE.jar、spring-core-4.0.0.RELEASE.jar、spring-expression-4.0.0.RELEASE.jar、commons-logging-1.1.3.jar、com.springsource.net.sf.cglib-2.2.0.jar、com.springsource.org.aopalliance-1.0.0.jar、com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar、taglibs-standard-impl-1.2.1.jar、taglibs-standard-spec-1.2.1.jar,我的邮箱是1248726954@qq.com,可以找我要,或者找我的博客,有网址。

一、web.xml配置

在web.xml中新增Spring的监听器的相关配置并指定Spring的配置文件,代码如下:

	<!-- 配置Spring的相关监听器,指定Spring的配置文件 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>WEB-INF/conf/applicationContext.xml</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

WEB-INF/conf/applicationContext.xml为Spring配置文件的路径;

二、配置Spring的配置文件

1、注解扫描,扫描Controller以外的注解,代码如下:

	<!-- 注解扫描 -->
	<context:component-scan base-package="com.ssm.framework">
		<context:exclude-filter type="annotation"
			expression="org.springframework.stereotype.Controller" />
	</context:component-scan>

2、配置事务管理器,在这里需要用到c3p0连接池,jar包为c3p0-0.9.1.2.jar,代码如下:

	<!-- 连接池 -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
		<property name="jdbcUrl"
			value="jdbc:mysql://127.0.0.1:3306/paperanalyse?useUnicode=true&amp;characterEncoding=utf-8"></property>
		<property name="user" value="root"></property>
		<property name="password" value="root"></property>
	</bean>

	<!-- 事务 -->
	<bean id="dataSourceTransactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>

	<!-- 基于注解使用事务 -->
	<tx:annotation-driven transaction-manager="dataSourceTransactionManager"/>

三、测试

1、新建一个接口和一个类,目录结构如下图:
在这里插入图片描述
接口代码示例:

package com.ssm.framework.service;

import com.alibaba.fastjson.JSONObject;

public interface LoginService {
	
	public JSONObject loginFun(JSONObject param);

}

Impl类代码示例:

package com.ssm.framework.service.Impl;

import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONObject;
import com.ssm.framework.service.LoginService;

@Service
public class LoginServiceImpl implements LoginService{

	@Override
	public JSONObject loginFun(JSONObject param) {
		
		JSONObject json = new JSONObject();
		
		System.out.println(param);
		
		json.put("success", true);
		
		return json;
	}

}

在Controller中需要使用@Autowoired(自动装配)注入Bean,代码如下:

	@Autowired
	private LoginService loginService;
	@RequestMapping(value="loginAction", method=RequestMethod.POST)
	@ResponseBody
	public JSONObject login(@RequestBody JSONObject param, HttpServletRequest request) {
		
		JSONObject json = loginService.loginFun(param);
		
		return json;
	}

控制台打印结果如下:
在这里插入图片描述
后续有新的理解会有补充。。。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值