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

 

 

登录页面

成功跳转页面

发布了78 篇原创文章 · 获赞 83 · 访问量 9292

猜你喜欢

转载自blog.csdn.net/weixin_41847891/article/details/89633579