G_04_01_Spring

Spring

https://study.163.com/course/courseLearn.htmcourseId=1004475015#/learn/video?lessonId=1048865300&courseId=1004475015(黑马程序员 58集精通java教程spring)

1. spring是开源的轻量级框架
2. spring核心主要两部分:
	(1)aop:面向切面编程,扩展功能不是修改源代码实现
	(2)ioc:控制反转
			-比如有一个类,类里面有一个方法(非静态方法),调用类里面的方法创建类的对象,使用对象调用方法,创建类对象的过程,需要new出来对象
			-把对象的创建不是通过new方式而是交给spring配置创建类对象

3. spring是一站式框架
	(1)spring在javaee三层结构中,每一层都提供不同的解决技术
		-web层:springMVC
		-service层:spring的ioc
		-dao层:spring的jdbcTemplate
		
 4. spring版本
	spring4.x

Spring的ioc操作

1.把创建对象交给spring管理
2. ioc操作两部分
	(1)ioc的配置文件方式
	(2)ioc的注解方式

ioc底层原理

1.底层原理使用技术
	(1)xml配置文件
	(2)dom4j解决xml
	(3)工厂设计模式
	(4)反射

在这里插入图片描述
在这里插入图片描述

IOC入门案例

1.导入jar包
	(1)下载jar: https://maven.springframework.org/release/org/springframework/spring/
					spring-framework-4.2.9.RELEASE-dist.zip
					jar特点:都有三个jar包

在这里插入图片描述
需要导入的包:
在这里插入图片描述
commons-logging-1.2.jar下载:http://commons.apache.org/proper/commons-logging/download_logging.cgi
在这里插入图片描述
log4j-1.2.16.jar下载:http://www.java2s.com/Code/Jar/l/Downloadlog4j1216jar.htm

2.创建类,在类里面创建方法

在这里插入图片描述

3.创建spring配置文件,配置创建类
	(1)spring核心配置文件名称和位置不是固定的
			-建议放到src下面,官方建议applicationContext.xml
	(2)引入schema约束

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.写代码测试对象创建

在这里插入图片描述

配置文件没有提示问题

spring的bean管理(xml方式)

bean实例化的方式

1. 在spring里面通过配置文件创建对象
2. bean实例化三种方式实现
	第一种 使用类的无参数构造创建(重点)

在这里插入图片描述

	第二种 使用静态工厂创建
	<bean id="bean2" class="cn.itcast.bean.Bean2Factory" factory-method="getBean2"></bean>
	第三种 使用实例工厂创建
	<bean id="bean3Factory" class="cn.itcast.bean.Bean3Factory"></bean>
	<bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3"></bean>

Bean标签常用属性

1.id:起名称,可任意命名但不能包含特殊符号
2.class:创建对象所在类的全路径
3.name:和id一样,但其可以包含特殊符号
4.scope:
	-singleton:单例,默认
	-prototype:多例
	-request:创建对象把对象放到request域里
	-session:创建对象把对象放到session域里
	-globalSession:创建对象把对象放到globalSession域里

属性注入

1. 属性注入方式
//1、使用set方式注入
public class  User{
	private String name;
	public void setName(String name){
		this.name=name;
	}
}
User user=new User();
user.setName("dd");
//2、有参构造注入
public class User{
	private String name;
	public User(String name){
		this.name=name;
	}
}
User user=new User("dfd");
//3.使用接口注入
public interface Dao{
	public void delete(String name);
}
public class DaoImpl implements Dao{
	private String name;
	public void delete(String name){
		this.name=name;
	}
}


spring的 bean管理(注解方式)

1. 注解介绍
(1)代码里面特殊标记,使用注解可以完成功能
(2)注解写法@注解名称(属性名称=属性值)
(3)注解使用在类上面、方法上面和属性上面
2.注解创建对象
(1)在要创建的对象上面用注解实现

在这里插入图片描述
在这里插入图片描述

3.创建对象有四个注解(目前功能相同)
	@Component
	@Controller
	@Service
	@Repository
4.创建对象单实例还是多实例

在这里插入图片描述

5. 注解注入属性
(1)创建service类,创建dao类,在service得到dao对象

在这里插入图片描述

配置文件和注解混合使用

1. 创建对象方式用配置文件实现
2. 注入属性用注解方式实现

AOP

1. AOP操作准备
(1)除了导入基本的jar包之外,还需要导入aop相关的jar包
	aopalliance-1.0下载:[https://mvnrepository.com/artifact/aopalliance/aopalliance/1.0](https://mvnrepository.com/artifact/aopalliance/aopalliance/1.0)
	aspectjweaver-1-8.7下载:[https://mvnrepository.com/artifact/org.aspectj/aspectjweaver/1.8.7](https://mvnrepository.com/artifact/org.aspectj/aspectjweaver/1.8.7)

IOC:控制反转

  1. 搭建spring环境
    下载jar: https://maven.springframework.org/release/org/springframework/spring/
    spring-framework-4.2.9.RELEASE-dist.zip
    开发spring至少需要jar(5个+1个):
    spring-aop.jar 开发AOP需要
    spring-beans.jar 处理beans需要的jar
    spring-context.jar 处理spring上下文
    spring-core.jar spring核心
    spring-expression.jar spring表达式
    以及三方提供的日志jar:
    commons-logging.jar

  2. 编写配置文件
    为了编写时有提示,自动生成一些配置信息,可以给eclipsezz增加支持spring的插件:spring tool suite(https://spring.io/tools/sts/all)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值