Spring初步

1:Spring其核心就是提供一种新的机制管理业务对象及其依赖关系。

2:Spring的核心:

IOC(控制反转)

DI(依赖注入)

AOP(面向切面编程)

3:Spring的七大模块

Core:核心模块。提供了Spring的容器来管理各种业务Bean对象以及Bean对象之间的依赖与关联关系。

DAO:对JDBC和JDBC的事务做了扩展和支持。

ORM:对ORM框架做了扩展和支持。

AOP:面向切面编程模块。

Spring Web:跟其它WEB框架(Struts1.x,Struts2.x、WebWork、JSF)结合的工具类和接口。

Spring Web MVC:Spring自身提供的Web MVC的开发框架。

Spring Context:对于J2EE平台架构其它技术组件的扩展(如EJB,JavaMail,RMI,JMS等)


4:Spring框架的特点


5:IOC
bean name = "" id = "" class = "" scope = "";

request:相当于WEB中的requestScope
session:相当于WEB中的SessionScope
global session:相当于WEB中的ApplicationScope
singleton:对象的单例模式,对象只产生一个实例 默认值。
prototype:对象的原型模式,每次产生一个对象。


控制反转

对象的实例化的过程原先是由代码控制,因此对象的生命周期由代码决定。

在Spring中,对象的实例化是由Spring容器控制。

对象的实例化的控制过程由原先的系统转移到Spring容器中,这一控制权的转变就是控制反转。


ApplicationContext
FileSystemXmlApplicationContext:以硬盘文件的路径方式加载

ClasspathXmlApplicationContext:从src目录加载

WebApplicationContext:与WEB工程组合时使用。

6:DI
依赖注入

容器将被调用者的实例注入到调用者的过程称为依赖注入。

Spring中的3种方式注入

属性注入 SET/GET
构造注入 构造方法注入

属性注入与构造注入同时存在时, 最终结果为属性注入的对象。因为构造方法执行完成后,开始

进行属性的初始化操作。

7:对象的生命周期与作用域

7.1:作用域Scope

8:Spring中对于JDBC的封装与扩展

1:Spring中如何获取数据源:
A:Spring自带的DataSourceDriverManager类。 类似Java中的JDBC的连接方式。

B:使用Tomcat的DBCP的方式: 工程需要Tomcat的Tomcat-dbcp.jar包。

D:使用开源的C3P0连接池方式

<!-- 数据源的获取_Spring的方式 -->
<bean name="spring_dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="username" value="test"></property>
<property name="password" value="test"></property>
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url"
value="jdbc:oracle:thin:@127.0.0.1:1521:orcl">
</property>
</bean>

<!-- 数据源的获取_DBCP方式 -->
<bean name="dbcp_DataSource"
class="org.apache.tomcat.dbcp.dbcp.BasicDataSource">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url"
value="jdbc:oracle:thin:@127.0.0.1:1521:orcl">
</property>
<property name="username" value="test"></property>
<property name="password" value="test"></property>
<property name="maxActive" value="50"></property>
<property name="maxIdle" value="10"></property>
<property name="maxWait" value="6000"></property>
</bean>


<bean name="c3p0_DataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass"
value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="user" value="test"></property>
<property name="password" value="test"></property>
<property name="jdbcUrl"
value="jdbc:oracle:thin:@127.0.0.1:1521:orcl">
</property>
<property name="maxPoolSize" value="20"></property>
<property name="minPoolSize" value="1"></property>
<property name="initialPoolSize" value="5"></property>
<property name="maxStatements" value="300"></property>
</bean>


2:Spring中操作表中的数据

原文地址:https://www.cnblogs.com/Arvin-9/p/4660222.html