Spring4学习
day02
1.spring是开源的轻量级框架
2. spring核心主要的两部分
--aop:面向切面编程,扩展功能不是修改源代码实现
--ioc:控制反转
比如有一个类,在类里边有方法(不是静态的方法)
调用类里边的方法,创建类的对象,使用对象调用方法,
创建类对象的过程,需要new出来对象。
---把对象的创建不是通过new方法实现,而是交给spring配置创建类对象
3.spring是一站式框架
---spring在javaee三层结构中,每一层都提供不同的解决技术
--web层:springMVC
--service层:spring的 ioc
--dao层:spring的jdbcTemplate
day03
1.Spring的ioc操作
--把对象的创建交给spring进行管理
--ioc操作两部分:ioc的配置文件方式---ioc的注解方式
2.ioc底层原理
--ioc底层原理使用的技术:--xml配置文件--dom4j解决xml--工厂设计模式--反射
图一,图二
3.IOC 入门案例
--第一步,导入jar包
学习版本4.2.4--jar包,文档,源代码
做spring最基本功能时候,导入四个核心的jar包就可以了--Beans--Core--Context--spEL
--导入支持日志输出的jar包
--第二步,创建类,在类里边创建方法
package fdx.text.ioc; public class User { public void add(){ System.out.println("add....."); } public static void main(String[] args) { //原始做法 User user=new User(); user.add(); } }
--第三步,创建spring配置文件,配置创建类
spring核心配置文件名称和位置不是固定的
建议放到src下面,官方建议applicationContext.xml
引入schema约束--找文件-docs>spring-framework-reference>html-
最后一个文件xsd-configuration-html-浏览器打开
图三
配置对象创建
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- ioc入门--> <bean id="user" class="fdx.text.ioc.User"></bean> </beans>
--第四步,写代码测试对象创建
package fdx.text.ioc; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestIOC { @Test public void testUser(){ //1加载spring配置文件,根据创建对象 ApplicationContext context= new ClassPathXmlApplicationContext("bean1.xml"); //2.得到配置创建的对象 User user=(User) context.getBean("user"); System.out.println(user); user.add(); } }
day07
1.配置文件没有提示问题
spring引入schema约束,把约束文件引入到eclipse中
--复制约束路径
http://www.springframework.org/schema/beans/spring-beans.xsd
图四
day08
3.spring的bean管理(xml配置文件)
--bean实例化三种方式
第一种:使用类的无参数构造创建(重点)
第二种:使用静态工厂创建
<!--使用静态工厂创建对象-->
<bean id="bean2" class="路径.Bean2Factory" factory-method="getBean2"></bean>
第三种:使用实例工厂创建
--bean标签常用属性
id属性:起名称,id属性值名称 任意命名
不能包含特殊符号
class属性:创建对象躲在类的全路径
name属性:功能和id属性一样,id 属性值不能包含特殊符号,但是在name属性值里面可以包含特殊符号
scope属性:--singleton:默认值,单例的--访问的地址一样
--prototype :多例的
--request:创建对象把对象放到request域里面
--session:创建对象把对象放到session域里面
--globalSession :创建对象把对象放到globalSession域里面
--属性注入方式介绍
--spring 注入属性(有参数构造和set方法)
--spring 注入对象类型属性(重点)
--p名称空间注入
--spring 注入复杂数据