博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring(二)
阅读量:4958 次
发布时间:2019-06-12

本文共 2429 字,大约阅读时间需要 8 分钟。

 spring的bean管理(注解)

注解介绍:

1:代码里面特殊的标记,使用注解可以完成功能

2:注解写法@注解名称(属性名称=属性值)

1)使用注解创建对象

2)使用注解注入属性

3xml和注解方式混合使用

3:可以使用在类上面,方法上面,属性上面

 

spring注解开发准备

1.导入基本jar

 

2.导入aopjar

 

3.创建类,创建方法

 

4.创建spring配置文件,引入约束

1)第一天做ioc基本功能,引入约束beans

2)做springioc注解开发,引入新的约束

 

注解创建对象

1.实例代码:

@Component(value="user")//相当于在bean.xml中写
public class User { public void add() { System.out.println("user...add"); }}

2.创建对象有四个注解

 

 

spring提供了@Component的三种衍生注解(功能目前是一致的) @Component(value="user")@Controller(value="user")//web层@Service(value="user")  //业务层@Repository(value="user")//持久层//这四者都一样,只是为以后的扩展留后路,本省用途清晰,spring在后续版本会对其增强

 

 

 

四个注解功能都是一样的,都创建对象(spring给自己留的后路,为后续版本做扩展,了解一下即可)

3.创建对象是一个单实例还是多实例

 

注解注入属性

1.创建一个service类,创建dao类,在service里面得到dao对象

1)创建daoservice对象

 

2)在service定义一个dao类型属性

 

 

注入属性第二个注解@Resource

 

配置文件和注解混合使用

1.创建对象操作使用配置文件方式实现

 

2.注入属性的操作使用注解方式实现

resource里面name名称是xml中的id

 

AOP

aop概述

1.aop:面向切面编程,扩展一个功能不通过修改源代码实现

2.aop采取横向抽取机制,取代了传统的纵向继承体系重复性代码(太官方了)

 

aop底层原理

1.画图分析纵向机制原理

 

 

2.画图分析横向机制原理

 

 

aop操作相关术语

Pointcut(切入点):类里面可以被增强的方法,这些方法被称为连接点

切入点:在类里面可以有很多的方法被增强,比如实际操作中,只是增强了类里面add方法

update方法,实际增强的方法称为切入点

Advice(通知/增强):曾强的逻辑,比如扩展一个日志的功能,这个日志功能称为增强

前置通知:在方法之前执行

后置通知:在方法之后执行

异常通知:方法出现异常

最终通知:在后置之后执行

环绕通知:方法之前和之后执行

aspect(切面):把增强应用到具体的方法上面,过程称为切面

把曾强用到切入点的过程

 

spring的aop操作(基于aspectj的xml方式)

1.在我们的spring里面进行aop操作,使用aspectj实现

1aspectj不是spring一部分,和spring一起使用进行aop操作

2Spring2.0以后新增了对aspectj支持

2.使用aspectj实现aop有两种方式

1)基于aspectjxml配置

2)基于aspectj的注解方式

Aop操作准备

1.出了导入基本的jar包之外,还要导入相关的jar

 

2.创建一个spring核心配置文件,导入aop的一个约束

 

 

 

 

 

使用表达式来配置切入点

1.切入点:实际增强的方法

2.常用的表达式

execution<访问修饰符><返回类型><方法名><参数><异常>

1execution*cn.ismy.aop.Book.add()//对此方法的add进行增强

2execution*cn.ismy.aop.Book.*//对类中所有方法进行增强

3execution* *.*//所有类所有方法进行增强

4)匹配所有save开头的方法·execution*save*(....)

Aspectj的aop操作

1.配置两个方法的路径:

 

2.给方法配置增强(此处不是很理解)

 

 log4j介绍

1.通过log4j可以看到更详细信息

1)经常使用log4j查看日志

log4j.properties文件路径:hibernate-release-5.0.12.Final\project\documentation\src\test\resources

 

2.使用

1)导入log4jjar

2)复制log4j配置文件,复制到src下面

 

3)设置日志级别

 

info:是基本信息

debug:更详细信息

 

 

spring整合web项目演示

1.先演示问题

1action调用serviceservice调用dao

 

每次访问action时候,都会加载spring配置文件

2)解决方案

1.在服务器启动的时候,创建对象加载配置文件

2.底层使用监听器,ServletContext对象,把压力交给服务器

3)在spring里面不需要我们自己写代码实现,帮封装

1.封装了一个监听器,只需要配置监听器就可以了

2.配置监听器之前做事情,导入spring整合web项目jar

spring-web.jar

 

3.加载spring配置文件位置

运行之后有个问题,默认的位置是applicationContext.xml,因此我们要指定加载位置

 

最后配置后的结果

 

 

转载于:https://www.cnblogs.com/yq12138/p/7209942.html

你可能感兴趣的文章
组件:slot插槽
查看>>
.net压缩图片质量(附demo)
查看>>
equals和==的区别
查看>>
Android6.0指纹识别开发
查看>>
java反射机制剖析(二)— Class Loader
查看>>
走进C++程序世界------异常处理
查看>>
通过用户模型,对数据库进行增删改查操作。
查看>>
去除数组中重复的元素
查看>>
Nginx配置文件nginx.conf中文详解(转)
查看>>
POJ 1988 Cube Stacking
查看>>
POJ 1308 Is It A Tree?(并查集)
查看>>
N进制到M进制的转换问题
查看>>
Android------三种监听OnTouchListener、OnLongClickListener同时实现即其中返回值true或者false的含义...
查看>>
MATLAB实现多元线性回归预测
查看>>
Mac xcode 配置OpenGL
查看>>
利用sed把一行的文本文件改成每句一行
查看>>
使用Asyncio的Coroutine来实现一个有限状态机
查看>>
Android应用开发:核心技术解析与最佳实践pdf
查看>>
python——爬虫
查看>>
2.2 标识符
查看>>