了解Spring技术构成:
Spring由7个核心模块构成(相互独立);(重点:AOP、ORM、DAO、WEB)(了解:MVC模块)
Spring核心宗旨:给个个框架,提供简化、优化的解决方案。
为什么需要使用Spring?
1. 关注每个框架的历史遗留问题。(例如:Hibernate中的事务控制、lazy问题(Open in view技术)、Struts中Action重复创建问题等等)
2. Spring提倡面向接口编程(编程更加规范)。
Spring中两种最核心的技术:
IOC(控制反转)—— 将程序中对象与对象的关系,使用配置文件来实现。
实现了控制反转技术的是:DI(依赖注入)
AOP(面向切面编程)—— 集中解决公共问题。(切面编程:在方法前、后执行指定功能)
如何使用Spring?(IOC基本配置)
1. 导入Spring的core包。
2. 创建对应的接口、类。
3. 在applicationContext.xml配置文件中配置对象关联关系。
<?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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="cat" class="com.sec.spring.model.Cat"> <property name="call"> <ref bean="yell"/> </property> </bean> <bean id="yell" class="com.sec.spring.model.Yell"></bean> </beans>
4. 在程序中获取对象。(不是自己new对象)。
BeanFactory bf = new ClassPathXmlApplicationContext("applicationContext.xml"); 获取到的对象类型 对象名 = (获取到的对象类型)bf.getBean("id名");
BeanFactory bf = (WebApplicationContext)ServletActionContext.getServletContext().getAttribute(
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);//获取当前容器中的beanfactory
IOC的注入方式:设值注入、构造注入。
设值注入:
原则:提供私有属性、对应的get、set方法,在配置文件中使用
<property name=“属性名”value=“值” />方式注入。
或
<property name=“属性名”ref=“对象名” />方式注入。