spring框架的注解实现:

(1)首先在spring的核心配置文件中开启注解配置:

(2)@Component():

目前Spring中提供了四个注解,相当于时Component注解的一个衍生:

  • @Controller        WEB层

  • @Service             业务层

  • @Repository       持久层

2、创建对象是一个单实例:@Scope(value="prototype")

3、在service中注入dao:

第一种方式:自动注入@Autowired,但这个方式内部机理可能比较模糊,但他不是找的@Repository(value="userDao")中的value的值,而是UserDao类

第二种方式:@Resource(name="userDao"):

4、aop:面向切面(方面)编程,扩展功能不修改源代码实现。Aspect Oriented Programing

采取横向抽取机制

原理:

(1)纵向抽取机制:

(2)横向机制aop:

动态代理的实现有两种方式:

jdk动态代理:针对的是有接口的情况

cglib动态代理:针对的是没有接口的情况

5.aop操作术语:

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

Pointcut(切入点):所谓切入点是指我们要对哪些Joinpoint进行拦截的定义.

Advice(通知/增强):所谓通知是指拦截到Joinpoint之后所要做的事情就是通知.通知分为前置通知,后置通知,异常通知,最终通知,环绕通知(切面要完成的功能)

Aspect(切面): 是切入点和通知(引介)的结合

Introduction(引介):引介是一种特殊的通知在不修改类代码的前提下, Introduction可以在运行期为类动态地添加一些方法或Field.

Target(目标对象):代理的目标对象(要增强的类)

Weaving(织入):是把增强应用到目标的过程.把advice 应用到 target的过程

Proxy(代理):一个类被AOP织入增强后,就产生一个结果代理类

6、Spring的aop操作:需要用到Aspectj来实现。

(1)aspectj不是spring一部分,和spring一起使用进行aop操作,从spring 2.0开始对AspectJ的支持。

(2)使用aspectj实现aop有两种方式:

     AOP操作的准备:需要导入aop相关的jar包,创建spring的核心配置文件,导入aop的dtd约束

使用表达式来配置切入点(实际增强的方法)

                常用的表达式:

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

                    =>   execution(* cn.itcast.aop.Book.add(..))             ..表示参数也包含

 execution(* cn.itcast.aop.Book.*(..))

execution(* *.*(..))   

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

* 基于aspectj的xml配置:

环绕通知的写法:

*基于aspectj的注解方式

log4j: 可以看到更加详细的信息,使用log4j查看日志

1.使用:(1)导入log4j的jar包

(2)复制log4j的配置文件log4j.properties,这个文件需要改的地方基本上只有一个:

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

在服务器启动的时候就加载配置文件,底层要使用到监听器、ServletContext对象。在spring中已经封装好了,可以直接使用。

(1)当需要导入一个jar包。

(2)在web.xml中进行监听器的配置。

(3)指定加载spring核心配置文件的位置

8.基于ascpectj的注解aop: 增强类:MyBook      被增强类:Book

(1) 首先创建book和MyBook类的对象,并且开启注解配置aop:

(2)在增强类的上面使用注解完成aop操作:

测试类:

结果:

7.spring对不同的持久化技术都进行了封装

jdbcTemplate:

1.导入jdbcTemplate使用的jar包:

2.创建对象,设置数据库信息,添加操作:

使用c3p0连接池:

(1)导入jar包:

        

原始方式使用c3p0连接池:

(2)使用spring来管理c3p0连接池。

Spring框架学习重点概要笔记(一)相关推荐

  1. Spring框架学习笔记,超详细!!(4)

    Java小白开始学习Spring框架,一方面,跟着视频学习,并记录下学习笔记,方便以后复习回顾.另一方面,发布学习笔记来约束自己,学习路程还很遥远,继续加油坚持!!!希望能帮助到大家! 另外还有我的牛 ...

  2. Spring框架学习笔记(三)(AOP,事务管理)

    Spring框架学习笔记(三) 九.AOP 9.1 AOP的注解配置 (1) 新建计算器核心功能(模拟:不能在改动核心代码) (2) 建立一个普通的Java类写增强代码(面向切面编程),使用Sprin ...

  3. Spring框架学习(二)

    Spring框架学习笔记---->AOP AOP概念 AOP:aspect oriented programing,面向切面编程. 将软件的各个模块,按照横向的角度进行观察,发现各个模块之间存在 ...

  4. Spring框架学习笔记---完结

    一.简介 Spring:春天----->给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架. 2004年3月24日,Spring框架 ...

  5. Spring框架学习笔记(1) ---[spring框架概念 , 初步上手使用Spring , 控制反转 依赖注入初步理解 ]

    spring官网 -->spring官网 spring5.3.12–>spring-framework 在线文档 --> Spring 5.3.12 文章目录 1.Spring概论 ...

  6. Spring框架学习笔记01:初探Spring——采用Spring配置文件管理Bean

    文章目录 一.Spring概述 二.入门案例演示 (一)创建Maven项目[SpringDemo2021] (二)在pom.xml文件里添加依赖 场景:勇敢的骑士去完成杀龙的任务. (三)创建杀龙任务 ...

  7. Spring框架学习路线

    文章目录 1.Spring 1.1.简介 1.2.优点 1.3.扩展 2.IOC理论 2.1.IOC的创建对象的方法 3.Spring配置 3.1.Bean配置 3.2.import 4.依赖注入 4 ...

  8. spring 框架学习(一)

    1.spring简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成 ...

  9. Spring框架学习day_01: 框架配置方式/ 管理对象的作用域/ 生命周期/ 组件扫描/ 单例模式:“懒汉式“,“饿汉式“

    1. Spring框架的作用 Spring框架的主要作用是创建对象和管理对象. 创建对象:类似于User user = new User(); 管理对象:随时可以通过Spring框架获取对象,甚至Sp ...

  10. Spring框架学习-Spring和IOC概述

    一:什么是Spring框架? spring是一个分层的javase/EEfull-stack(一站式)轻量级的java开源框架.是为了解决企业开发的复杂性而创建的.框架的主要优势是分层架构,Sprin ...

最新文章

  1. 辛星php函数,辛星和您用更简略的方式去实现PHP中的验证码
  2. 如何保证数据库服务器的安全性
  3. network 拦截不到东西是怎么做到的?_都说读中职院校学不到东西,中职学生到底是怎么学习的?...
  4. mysql内置变量_MySQL常用内置变量
  5. 用jQuery实现一些导航条切换,显示隐藏
  6. TensorFLow one-hot
  7. 轨迹系列13——多轨迹展示在实际项目中的落地和优化
  8. iframe 滚动条不显示_BUG赏金 | 当我发现iFrame注入时的利用
  9. MySQLdb查询有中文关键字查不到数据
  10. 7天连锁酒店郑南雁:顺势创业者无为管理人
  11. 按键精灵手机版读取MYSQL_mysql,按键精灵,读取写入
  12. ONLYOFFICE Docs如何与NEXTCLOUD 24连接集成
  13. ZTD 简单做十个好习惯总结
  14. oppo计算机锁屏快捷键,电脑如何快速锁屏
  15. 在单端输入应用中连接差分放大器
  16. 以STM32F103RCT6为例分析单片机的RAM以及ROM使用情况
  17. linux查看系统所有变量,Linux系统各指标命令
  18. ubuntu20.04 root用户无法打开chrome游览器,一直转圈圈问题
  19. iOS7死机率比安卓高2倍!爱疯5S冲进3K档
  20. Unity Addressables资源管理系统

热门文章

  1. Project2019入门到精通
  2. 软媒魔方 6.0.5 正式绿色版
  3. aspjpeg组件在2008R2下“ActiveX 部件不能创建对象”
  4. 常用加密算法--对称加密算法
  5. linux免费日志分析工具,分享10个优秀的日志分析工具
  6. 计算机专业术语pe什么意思,pe是什么意思
  7. python3爬虫的简单使用-附百度贴吧等大量实例代码
  8. 使用strace查看后台程序stdout输出
  9. Vue 微信扫码支付
  10. 微信扫码登录原理解析