java-四十二天---spring(IOC,AOP)、mybatis关联关系对象映射、ssm项目整合

1 spring简介

 spring 框架主要作用是和其他主流框架进行整合开发。SSM: spring springmvc  mybatis

 

2 为什么说spring是轻量级的框架

 Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。

  spring在应用时需要加载服务较少。

 spring有2个核心:1.IOC   2.AOP

 

3 IOC(掌握)

IOC 全称 inversion of controll 控制反转。

User类,创建User类对象,通过调用构造方法进行创建,User user = new User(), spring来管理对象的创建和销毁,把对象创建权利的反转成为控制反转。User<---------spring(管理User--->创建User对象)

 

4  使用spring ioc来实现获取User对象。

  1. 新建项目,java Project
  2. 添加所需要的依赖包

   3 在项目的src目录下添加spring的配置文件

  4  在项目的src下新建User类

 UserDAO   UserService让spring负责这两个类对象的创建

 xml方式:

例子:

注解方式:

例子:

 

5  依赖注入

spring不但可以负责类对象的创建,还可以建立(管理)bean与bean之间的依赖关系,

将spring管理bean与bean之间依赖的关系的过程称为 “依赖注入”

需求:建立userService 和userDAO之间的依赖关系?

xml方式

  1. setter方法注入  2.构造方法注入

1 setter注入

例子

 

2 构造方法注入:

例子:

 

注解方式:

例子

 

6   值注入

值注入:注入属性的值叫值注入。

值注入方式:1.setter方式注入2.构造方法注入 3.p空间注入

1  setter方式

2.构造方法

3 p空间注入

 

7   AOP(掌握)

   AOP 全称 Aspect Oriented Programming 面向切面编程。

   扩展类(类中的方法)不需要修改源代码就可以实现。

   AOP应用场景:日志、校验等。

AOP原理:采用的是横向抽取机制取代传统的纵向抽取机制

横向抽取机制

关于AOP的几个术语:

采用2种方式:1.xml文件方式   2.注解方式

新建切面类,MyAspejct

  1. xml 文件方式

<!-- 配置aop -->

  <aop:config>
     <!-- 配置切入点 expression表示切入点的表达式
             取值语法:  execution(方法返回值类型 包名.类名.方法名(..))    *:通配符
             execution(* com.xx.dao.*.*(..))     id属性表示切入点的唯一标识-->   
     <aop:pointcut expression="execution(* com.xx.dao.*.*(..))" id="pc"/>
  
    

 <!-- 配置切面  ref表示切面类引用的bean-->
     <aop:aspect id="as" ref="myAspect">
          <!-- 配置增强 -->
          <!-- 配置前置通知(增强) method属性表示切面类中增强方法的名称 -->
          <!-- pointcut-ref表示增强指向的切入点 -->
          <aop:before method="before" pointcut-ref="pc"/>
          
          <!-- 配置后置返回通知 -->
          <aop:after-returning method="afterReturn" pointcut-ref="pc"/>
          
          <!-- 配置异常通知:异常通知在发生异常的情况下才会执行 -->
          <aop:after-throwing method="afterThrowing" pointcut-ref="pc"/>
          
          <!-- 配置最终通知:不管程序有没有异常,最终通知都会执行 -->
          <aop:after method="after" pointcut-ref="pc"/>
          
          <!-- 配置环绕通知:在目标方法执行之前和之后都会执行 -->
          <aop:around method="around" pointcut-ref="pc"/>
     </aop:aspect>

  </aop:config>

例子

 

2 注解方式:

 

例子

 

8  注意

1

2

3

4  Autowired和Resource区别

 

9   mybatis关联关系对象映射

 

一对一

 

 

一对多

 

10   SSM整合(重点)

例子

 

 

com.xx.entity.SysUser

 

 

com.xx.mapper.SysUserMapper

 

 

com.xx.mapper.SysUserMapper.xml

 

 

 

com.xx.service.UserService

 

com.xx.service.impl.UserServiceImpl

 

 

com.xx.controller.LoginController

 

 

登录页面

成功跳转页面

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值