java我爱编程

spring学习笔记(多图)

2018-05-28  本文已影响8人  n油炸小朋友

核心

IOC

控制反转:把对象的创建交给spring的配置来实现

AOP

面向切面:扩展功能而不是修改源代码


ioc的两种实现

第一种:配置文件方式实现ioc

ioc的底层原理是:

对象创建

下图展示了三种创建方式的实现:分别是调用需创建的类的无参构造函数、调用工厂类的静态方法、调用工厂类的非静态方法:

image.png
属性的注入

实现方法:

  1. 在service声明dao属性
  2. 生成dao属性的set方法
  3. 在配置文件中注入关系
    (要先有dao的对象生成,然后才能注入)
image.png

在类里面声明这些类型的属性


image.png
  1. 数组


    image.png
  2. list集合


    image.png
  3. map映射


    image.png
  4. properties配置 java.util.Properties
image.png
第二种:注解方式实现IOC

注解可以使用在类、方法、属性上面

  1. 导入jar包


    image.png
  2. 创建类和方法
  3. 创建spring配置文件,引入约束
  4. 开启注解扫描
image.png image.png
  1. 使用注解


    image.png

spring常用注解

若要创建多实例的,加上scope的注解(默认是单例)

image.png
这些注解目前是一样的作用 image.png image.png

注解注入属性的方式一:使用注解Autoweired


image.png

常用方式 是 注解和配置混合使用
创建对象用配置文件
注入对象属性使用注解方式

image.png

这里的属性注入用Resource注解,是第二种注入属性的注入方式


image.png

log4j

log4j

解决每次都要加载xml配置的问题

image.png image.png

上面那张图是默认去加载spring的位置和默认加载的xml名字,而我们没有在默认位置下创建xml,所以需要另外配置加载的路径。


AOP

aop概念
名词解释
image.png
横向抽取机制理解

采用纵向机制解决功能扩展时,需要调用父类的方法:


image.png

横向抽取机制:

  1. 有接口的情况,使用jdk动态代理


    image.png
  2. 没有接口的情况,使用cglib动态代理


    image.png

spring实现aop

  1. 在spring里面实现aop,使用aspectj实现
    (1)aspectj不是spring的一部分
    (2)spring2.0以后才增加了对aspectj的支持
  2. 使用aspectj有两种方式
    (1)xml配置
    (2)注解方式
第一种:xml配置方式实现aop
image.png image.png

环绕增强方式的实现:

要加入proceedingJoinPoint.proceed();

image.png image.png image.png
第二种:使用注解实现aop

jdbcTemplate

  1. spring是一站式框架
    (1)针对javaee三层,每一层都有解决技术
    (2)针对到层,使用jdbcTemplate
  2. spring对不同的持久化技术都进行了封装
image.png
  1. jdbcTemplate对数据库进行crud操作
实现

增加:

使用的是update方法


image.png

注意导入的包是这里面的


image.png

更新:
使用的是update方法

image.png

删除:
使用的是update方法

image.png

查询:
有不同需要的查询,分别是查询返回一个值,查询返回一个对象,查询返回一个集合

image.png image.png

xml配置数据库连接池

image.png

事务管理

事务的知识点请查看:https://www.jianshu.com/p/38620844538a

事务管理方式有两种

  1. 编程式事务管理(一般不用)
  2. 声明式事务管理
    (1)基于xml配置方式实现
    (2)基于注解实现
spring事务管理api

spring实现事务管理的api是PlatFormTransacionManager接口,并且为不同的dao层框架提供了具体的实现类

image.png
声明式事务管理的实现
第一种: xml配置方式实现
image.png
第二种: 注解方式实现
上一篇下一篇

猜你喜欢

热点阅读