Spring 学习第一步

本文仅为本人学习使用,如有误区,还请包容。

什么是Spring?有什么作用?具体体现?

什么是Spring?Spring是一个容器,可以接管各个层次的Bean(action/domain/pojo/javabean),并且可以配置bean与bean之间的关系。

有什么作用?spring的最终目的是为了简化java开发。

具体体现?举个例子:

我们使用传统的jdbc连接数据库,代码如下:(不知道还有几个人还记得jdbc连接数据库步骤?)

//加载驱动
Class.forName("...");
//提供数据库连接地址
String url = ...;
//获取连接
Connection conn = DriverManager.getConnection(url,user,password);
//创建statement对象
Statement stmt = conn.createStatement();			
//执行查询操作
ResultSet rs= stmt.executeQuery(sql);
//获取查询结果			
while(rs.next())
{
    ....
}
			
//关闭连接
conn.close();
toStat.close();

当我要查询A表时,需要执行上面的代码去获取A表查询结果。如果我需要去查询B表时,同样需要执行上面的代码去获取查询结果。

而Spring提供了连接数据库的模板,只需要在配置文件中配置数据库连接后,可通过模板来执行查询操作。如下:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close" dependency-check="none">
	<property name="driverClass">
		<value>${jdbc.driverClassName}</value>
	</property>
	<!--链接数据库的url -->
	<property name="jdbcUrl">
		<value>${jdbc.url}</value>
	</property>
	<!--链接数据库用户名 -->
	<property name="user">
		<value>${jdbc.username}</value>
	</property>
	<!--链接数据库密码 -->
	<property name="password">
		<value>${jdbc.password}</value>
	</property>	
</bean> 
<!-- 配置数据模板 -->本次使用hibernate模板
<bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
   <ref bean="dataSource" />
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">
     org.hibernate.dialect.OracleDialect
    </prop>
  </property>
 </bean>

我们只需要在spring配置文件中配置数据库及使用模板后,就可以通过继承相应模板的抽象类实现数据库的相关操作。如下:

public class BaseDao extends HibernateDaoSupport 
{
	public void save(Object entity) {
		//调用hibernate模板相关方法操作
		super.getHibernateTemplate().save(entity);
		super.getHibernateTemplate().flush();
		super.getHibernateTemplate().clear();
		
	}
}

上面的代码我使用了spring提供的hiberate模板。当然,spring还提供如jdbc,mybatis等等模板。

通过上面的示例可以看出,通过spring提供的数据库模板,我们再也不用去写大量的连接数据库模板,同时还得去创建,关闭各种连接(当然你也可以不关闭连接,只需要担心你的数据库资源是否够你挥霍而已 ——)。我们只需调用spring模板的相对应方法,就可实现对数据库的操作,而且不用担心资源的释放问题。相应代码量也少了,更利于代码的维护。

上面对数据库的操作只是一方面。

spring具体从以下几个方面来具体实现对java开发的简化:

1.基于POJO的轻量级和最小侵入性编程。

2.通过依赖注入和面向接口编程实现松耦合。

3.通过面向切面和惯例进行声明式编程。

4.通过面向切面和模板减少样板式代码。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值