Spring (1)
目标:
IOC、DI
spring---春天
spring是一个轻量级的框架,它可以帮助我们实现一些辅助性的功能,让我们专注于写业务逻辑,它可以降低组件之间的耦合度
Struts属于web层,主要是用于与用户交互
Hibernate属于持久化层,主要是用于与数据库交互
Spring并不是专属于某一层,它而是贯穿各个层次,它像一个粘合剂,可以将各个层次串联起来
spring1.2, spring2.0 spring2.5 spring3.0
spring中的重要概念:
DI: 依赖注入
IOC: 控制反转
AOP: 面向方面编程(面向切面编程)
Transaction 事务
MVC: 它是Spring自带的一个web框架,可以取代struts2
----------------------------------------------------------------------------------
在没有spring的时候,A类需要调用B类中的方法,A类可以主动创建B类的实例,然后通过这个实例调用的B类的方法
--------这样的代码,就需要高度耦合的代码
spring主配置文件的名称: applicationContext.xml
如果要配置组件与组件的依赖关系、要实例化对象、要连接数据库、要配置事务....都需要在这个配置文件中完成
applicationContext.xml
---------------------------------------------------------------------------------------------
测试类:
--------------------------------------
只有在spring的配置文件 applicationContext.xml文件中,注册过的对象,spring容器才能自动创建
Spring容器的名称: ApplicationContext
------------------------------------------------
spring容器:ApplicationContext
spring的主配置文件: applicationContext.xml
<bean id="mydao" class="org.java.dao.Dao"/> 注册Dao
<bean id="myservice" class="org.java.service.Service">
<property name="dao">
<ref local="mydao"/>
</property>
</bean>
要访问spring产生的对象,首先要得到spring的容器工厂
//第一步,创建容器工厂
ApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml");
//第二步,从容器工厂中,取得需要的实例
Service biz = (Service)cxt.getBean("myservice");
//第三步,通过实例调用方法即可
biz.addData();
IOC: 控制反转
以前Service需要Dao的实例,可以在Service类中,主动创建Dao
有了spring以后,Service需要Dao的实例,不能主动创建,而是只能被动等待spring容器送过来的对象,才可以完成实例
-----------------------------------------------------------------------
对象的创建从主动创建变成被动等待,这一个过程,控制发生反转
IOC:控制反转
-------------------------------------------------------------------------
DI:依赖注入
类中的属性依赖于容器传递过来的实例,才可以完成初始化,这一个过程,称为:依赖注入
spring提倡面向接口编程,这样的好处是,容易更换底层,更好的隐藏细节
org.java.dao
Dao
org.java.dao.impl;
DaoImpl
接口 obj = new 接口实现类();
spring的注入分为:
1、对象的注入
2、值的注入
--------------------------------------------
spring的自动绑定: 如果在创建对象的实例时,发现对象中有属性没有被初始化,自动绑定就可以自动从spring容器工厂中,找到匹配的类型,然后自动送到需要的地方,而不需要通过配置文件配置
默认情况下,自动绑定不启用---------------------- autoWire
1、第一种: 按类型自动绑定-----------byType (如果找到多个同一种类型,就自动转换为byName)
2、第二种:按名称自动绑定 -----------byName
3、第三种:造构器(构造方法)自动绑定 ----------constructor
spring(1)
目标:
IOC、DI
spring---春天
spring是一个轻量级的框架,它可以帮助我们实现一些辅助性的功能,让我们专注于写业务逻辑,它可以降低组件之间的耦合度
Struts属于web层,主要是用于与用户交互
Hibernate属于持久化层,主要是用于与数据库交互
Spring并不是专属于某一层,它而是贯穿各个层次,它像一个粘合剂,可以将各个层次串联起来
spring1.2, spring2.0 spring2.5 spring3.0
spring中的重要概念:
DI: 依赖注入
IOC: 控制反转
AOP: 面向方面编程(面向切面编程)
Transaction 事务
MVC: 它是Spring自带的一个web框架,可以取代struts2
----------------------------------------------------------------------------------
在没有spring的时候,A类需要调用B类中的方法,A类可以主动创建B类的实例,然后通过这个实例调用的B类的方法
--------这样的代码,就需要高度耦合的代码
spring主配置文件的名称: applicationContext.xml
如果要配置组件与组件的依赖关系、要实例化对象、要连接数据库、要配置事务....都需要在这个配置文件中完成
applicationContext.xml
---------------------------------------------------------------------------------------------
测试类:
--------------------------------------
只有在spring的配置文件 applicationContext.xml文件中,注册过的对象,spring容器才能自动创建
Spring容器的名称: ApplicationContext
------------------------------------------------
spring容器:ApplicationContext
spring的主配置文件: applicationContext.xml
<bean id="mydao" class="org.java.dao.Dao"/> 注册Dao
<bean id="myservice" class="org.java.service.Service">
<property name="dao">
<ref local="mydao"/>
</property>
</bean>
要访问spring产生的对象,首先要得到spring的容器工厂
//第一步,创建容器工厂
ApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml");
//第二步,从容器工厂中,取得需要的实例
Service biz = (Service)cxt.getBean("myservice");
//第三步,通过实例调用方法即可
biz.addData();
IOC: 控制反转
以前Service需要Dao的实例,可以在Service类中,主动创建Dao
有了spring以后,Service需要Dao的实例,不能主动创建,而是只能被动等待spring容器送过来的对象,才可以完成实例
-----------------------------------------------------------------------
对象的创建从主动创建变成被动等待,这一个过程,控制发生反转
IOC:控制反转
-------------------------------------------------------------------------
DI:依赖注入
类中的属性依赖于容器传递过来的实例,才可以完成初始化,这一个过程,称为:依赖注入
spring提倡面向接口编程,这样的好处是,容易更换底层,更好的隐藏细节
org.java.dao
Dao
org.java.dao.impl;
DaoImpl
接口 obj = new 接口实现类();
spring的注入分为:
1、对象的注入
2、值的注入
--------------------------------------------
spring的自动绑定: 如果在创建对象的实例时,发现对象中有属性没有被初始化,自动绑定就可以自动从spring容器工厂中,找到匹配的类型,然后自动送到需要的地方,而不需要通过配置文件配置
默认情况下,自动绑定不启用---------------------- autoWire
1、第一种: 按类型自动绑定-----------byType (如果找到多个同一种类型,就自动转换为byName)
2、第二种:按名称自动绑定 -----------byName
3、第三种:造构器(构造方法)自动绑定 ----------constructor
Spring 第一章
目标:
IOC、DI
spring---春天
spring是一个轻量级的框架,它可以帮助我们实现一些辅助性的功能,让我们专注于写业务逻辑,它可以降低组件之间的耦合度
Struts属于web层,主要是用于与用户交互
Hibernate属于持久化层,主要是用于与数据库交互
Spring并不是专属于某一层,它而是贯穿各个层次,它像一个粘合剂,可以将各个层次串联起来
spring1.2, spring2.0 spring2.5 spring3.0
spring中的重要概念:
DI: 依赖注入
IOC: 控制反转
AOP: 面向方面编程(面向切面编程)
Transaction 事务
MVC: 它是Spring自带的一个web框架,可以取代struts2
----------------------------------------------------------------------------------
在没有spring的时候,A类需要调用B类中的方法,A类可以主动创建B类的实例,然后通过这个实例调用的B类的方法
--------这样的代码,就需要高度耦合的代码
spring主配置文件的名称: applicationContext.xml
如果要配置组件与组件的依赖关系、要实例化对象、要连接数据库、要配置事务....都需要在这个配置文件中完成
applicationContext.xml
---------------------------------------------------------------------------------------------
测试类:
--------------------------------------
只有在spring的配置文件 applicationContext.xml文件中,注册过的对象,spring容器才能自动创建
Spring容器的名称: ApplicationContext
------------------------------------------------
spring容器:ApplicationContext
spring的主配置文件: applicationContext.xml
<bean id="mydao" class="org.java.dao.Dao"/> 注册Dao
<bean id="myservice" class="org.java.service.Service">
<property name="dao">
<ref local="mydao"/>
</property>
</bean>
要访问spring产生的对象,首先要得到spring的容器工厂
//第一步,创建容器工厂
ApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml");
//第二步,从容器工厂中,取得需要的实例
Service biz = (Service)cxt.getBean("myservice");
//第三步,通过实例调用方法即可
biz.addData();
IOC: 控制反转
以前Service需要Dao的实例,可以在Service类中,主动创建Dao
有了spring以后,Service需要Dao的实例,不能主动创建,而是只能被动等待spring容器送过来的对象,才可以完成实例
-----------------------------------------------------------------------
对象的创建从主动创建变成被动等待,这一个过程,控制发生反转
IOC:控制反转
-------------------------------------------------------------------------
DI:依赖注入
类中的属性依赖于容器传递过来的实例,才可以完成初始化,这一个过程,称为:依赖注入
spring提倡面向接口编程,这样的好处是,容易更换底层,更好的隐藏细节
org.java.dao
Dao
org.java.dao.impl;
DaoImpl
接口 obj = new 接口实现类();
spring的注入分为:
1、对象的注入
2、值的注入
--------------------------------------------
spring的自动绑定: 如果在创建对象的实例时,发现对象中有属性没有被初始化,自动绑定就可以自动从spring容器工厂中,找到匹配的类型,然后自动送到需要的地方,而不需要通过配置文件配置
默认情况下,自动绑定不启用---------------------- autoWire
1、第一种: 按类型自动绑定-----------byType (如果找到多个同一种类型,就自动转换为byName)
2、第二种:按名称自动绑定 -----------byName
3、第三种:造构器(构造方法)自动绑定 ----------constructor