搭建spring框架、整合ssm项目

一、spring框架技术-----简化了web企业级开发,更易于系统的维护和扩展

多态性的体现-----提倡面向接口编程---运行时绑定(后绑定:通过结果来确定调用的是哪个接口)

使用接口为属性、参数、返回值,父类引用指向子类对象

二、spring的作用

插拔式的功能----用的时候插上、不用拔掉

三、搭建spring的步骤

1、创建web项目、在WebContent----WEB-INF----lib下添加相关jar包

     在WebContent----WEB-INF下配置spring-servlet.xml和web.xml文件(配置的关键内容见上篇SpringMVC框架的配置)

2、在项目中创建Source Folder(resources),在resources中配置jdbc.properties、log4j.properties、spring配置文件(applicationContext.xml)

注意:每个配置文件注意路径问题

jdbc.properties----用属性文件保存数据库信息(需要更改数据库信息)

log4j.properties----控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等(需要更改两处包路径)

applicationContext.xml

---a、先引入属性文件---读取数据库属性信息${}--->properties文件---jdbc***(需修改)

---b、配置数据源---数据库连接信息

---c、配置sqlSessionFactory----工厂

注入数据源、配置实体类别名(统一配置包名)、配置映射文件(统一配置路径)----(需修改)

---d、配置事务管理器

注入数据源、事务管理器、增加事务注解驱动

---e、加入注解支持---包括事务管理(设置使用注解的类所在的包,加载业务类)----(需修改)

扫描service路径,加载service实现类

---f、配置dao代理器,设置dao路径(配置mybatis接口)----(需修改)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
	http://www.springframework.org/schema/aop
	http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
	http://www.springframework.org/schema/tx
	http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context-4.0.xsd">
	
	<!-- 加载数据库属性文件内容 -->
	<context:property-placeholder location="classpath:jdbc.properties"/>
	
	<!-- 1、配置数据源 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
		<property name="driverClassName"> 
			  <value>${jdbc.driver}</value> 
		</property> 
		<property name="url"> 
			  <value>${jdbc.url}</value> 
		</property> 
		<property name="username"> 
			  <value>${jdbc.username}</value> 
		</property> 
		<property name="password"> 
			  <value>${jdbc.password}</value> 
		</property> 
		<property name="maxActive"> 
			  <value>${jdbc.maxActive}</value> 
		</property> 
		<property name="maxIdle"> 
			  <value>${jdbc.maxIdle}</value> 
		</property> 
		<property name="maxWait"> 
			  <value>${jdbc.maxWait}</value> 
		</property> 
	</bean>
	<!-- 2、创建sqlSessionFactory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="typeAliasesPackage" value="com.hqyj.pojo"></property>
		<!-- 配置sqlmapper路径 -->
		<property name="mapperLocations">
			<list>
				<value>classpath:mapper/*.xml</value>
			</list> 
		</property>
	</bean>
	<!-- 3、配置事务管理 -->
	<!-- a、事务管理器 -->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>
	
	<!-- 增加事务注解驱动 -->	
	<tx:annotation-driven transaction-manager="transactionManager"/>
	    
	<!-- 设置使用注解的类所在的包,加载业务类 -->
	<context:component-scan base-package="com.hqyj.service"></context:component-scan>
	
	
	<!-- 配置mybatis接口 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
        <property name="basePackage" value="com.hqyj.dao"></property>  
    </bean> 

</beans>

3、Source Folder(resources)下创建Mapper文件夹,配置Mapper.xml(在这里书写SQL语句)

---namespace---逻辑路径必须和dao路径一致(包名+接口名)

---sql的ID和dao的方法名一致

parameterType属性用于对应的mapper接口方法接受的参数类型

resultType用于指定sql输出的结果类型

4、创建项目包目录----pojo、dao、service、controller

注意:在pojo中的实体类属性:基本数据类型统一改为包装类型

Mybatis接口不是我们实现的,其自己实现

 在service包下建立Impl包,是****service接口的实现类

注解:@Service:初始化service

          @Autowired:自动注入(可以初始化了、可用)

          @Transactional:事务处理,保障数据的一致性

controller----使用接口编程

@Controller
@RequestMapping("/users")
public class UsersController {
	@Autowired
	private UsersService us;
	
	@Autowired
	private HttpServletRequest request;
	
	@RequestMapping("/insert")
	public String insert(Users u){
		us.insert(u);
		System.out.println("插入成功");
		return "users/list";
	}
	
	@RequestMapping("/update")
	public String update(Users u){
		us.update(u);
		System.out.println("更新成功");
		return "users/list";
	}
	
	@RequestMapping("/delete")
	public String delete(String usid){
		us.delete(usid);
		System.out.println("删除成功");
		return "users/list";
	}
	
	@RequestMapping("/selectOne")
	public String selectOne(String usid){
		Users u = us.selectOne(usid);
		request.setAttribute("u", u);
		System.out.println(u);
		return "users/update";
	}
	
	@RequestMapping("/selectList")
	public String selectList(){
		List list = us.selectList();
		request.setAttribute("list", list);
		System.out.println(list);
		return "users/list";
	}
	
}

在WebContent下新建文件夹(实体类文件夹)------存储jsp文件----users-----insert.jsp

5、在jdbc.properties配置连接池

        事先打开一定数量的数据库连接,等待用户的使用,使用之后,再还回连接池

        最多打开的连接数量

                jdbc.maxActive=10

        事先准备的连接数量

                jdbc.maxIdle=5

        客户端处于等待的超时时间,毫秒数

                jdbc.maxWait=30000

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值