Spring4学习笔记


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 注入复杂数据

原文地址:https://www.cnblogs.com/fdxjava/p/10728694.html