【Spring】学习笔记_体系结构与基本思想
1.Spring的体系结构:
1-1.核心容器:
Spring-core模块:控制反转与依赖控制功能
Spring-beans模块:提供了BeanFactory
Spring-context模块:提供了ApplicationContext接口的访问方式
Spring-context-support模块:第三方库的支持(高速缓存与任务调度)
Spring-expresion模块
2.Spring IoC(Inversion of Control控制反转)容器:
2-1.BeanFactory(不常用):
由org.springframework.beans.factory.BeanFactory接口定义,是一个管理Bean的工厂
2-2.ApplicationContex(应用上下文):
由org.springframework.xontext.ApplicationContext接口定义
实现方式:
2-2-1.通过ClassPathXmlApplicationContext创建:
[code]public static void main(String[] args){ ApplicationContext appcont = new ClassPathXmlApplicationContext("applicationContext.xml"); TestDao tt = (TestDao)appcont.getBean("test"); tt.dosomething(); }
2-2-2.通过Web服务器实例化ApplicationContext容器:
基于org.springframework.web.context.ContextLoaderListener实现:
[code]<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:applicationContext.xml </param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener>
2-3.依赖注入(IoC)的类型:
2-3-1:通过构造方法注入(不常用):
Dao + DaoImpl层
Service + ServiceImpl层(构造方法):
[code]public class MyServiceImpl implements MyService{ private MyDao myDao; //构造方法 public MyServiceImpl(MyDao myDao){ super(); this.myDao = myDao } }
applicationContext.xml的配置:
[code]<bean id = "myDao" class = "dao.MyDaoImpl"/> <bean id = "myService" class = "service.MyServiceImpl"> <constructor-arg index = "0" ref = "myDao"/> </bean>
controller层
2-3-2:通过属性setter方法注入:
Dao + DaoImpl层
Service + ServiceImpl层(setter方法):
[code]public class MyServiceImpl implements MyService{ private MyDao myDao; //setter方法 public void setMyDao(MyDao myDao){ this.myDao = myDao; } }
applicationContext.xml配置:
[code]<bean id = "myDao" class = "dao.MyDaoImpl"/> <bean id = "myService" class = "service.MyServiceImpl"> <property name = "myDao" ref = "myDao"/> </bean>
controller层
- Lucene 学习笔记(一)——基本对象及结构
- 基本目录结构和功能 (amlogic open linux)----学习笔记
- Hadoop学习笔记(一)——Hadoop体系结构
- 学习笔记:频谱混迭-过采样-模拟重建-基本结构
- SQL Server 2008 学习笔记(一) 数据库系统的基本结构
- 学习笔记-面向对象基本思想
- Hibernate学习笔记之体系结构的理解(二)
- AIX PowerPC体系结构及其溢出技术学习笔记(转)
- Mysql学习笔记:Mysql服务器体系结构(二)
- ARM&LINUX学习笔记(4)---ARM 体系结构
- CCNA学习笔记之网络体系结构
- Spring基本学习笔记
- Java学习笔记三(对象的基本思想一)
- go学习笔记(14)-基本语法-结构
- html及css学习笔记_2_html基本结构
- JVM学习笔记(一)------基本结构
- 计算机体系结构的学习笔记(1)
- JVM学习笔记(一)------ 基本结构
- Java学习——Java基本的程序设计结构笔记(一)
- 【电信增值业务学习笔记】2 移动网络基本概念和组网结构