MyBatis、Spring

MyBatis是一款基于Java的持久层框架,它将SQL语句映射为Java方法,降低了数据库操作的耦合度。Spring是一个轻量级的IoC和AOP容器框架。文中还介绍了IOC(控制反转)和DI(依赖注入)的概念,以及Spring中的Bean作用域和注入方式。此外,文章讨论了面向切面编程(AOP)的基本概念和SpringAOP的代理实现。
摘要由CSDN通过智能技术生成

1,什么是mybatis?

MyBatis是一款基于Java的持久层框架,将数据库操作的SQL语句映射为Java方法,用Java方法代替了直接使用SQL语句,MyBatis提供了XML或注解的方式来定义SQL语句,通过MyBatis的SQLSession执行方法来操作数据库。

2,mybatis的优缺点

优点

MyBatis 不会对应用程序或者数据库的现有设计强加任何影响,SQL 写在 XML 中,和程序逻辑代码分离,降低耦合度,便于同一管理和优化,提高了代码的可重用性。

提供 XML 标签,支持编写动态 SQL 语句。

提供映射标签,支持对象与数据库的 ORM 字段关系映射。

缺点

编写 SQL 语句工作量较大,对开发人员编写 SQL 语句的功底有一定要求

3、什么是Spring

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架

4、什么是IOC/DI?

IOC:控制反转,对象的创建不再由原来的程序负责,交给第三方的容器负责

DI:依赖注入,DI 本质上是实现IOC 的一种方式,对象之间的依赖关系交给Spring容器负责注入进来。

5、Bean的作用域

singleton:默认值,单例模式,表示在 Spring 容器中只有一个 Bean 实例

prototype:原型模式,表示每次通过 Spring 容器获取 Bean 时,容器都会创建一个新的 Bean 实例。

request:每次 HTTP 请求,容器都会创建一个 Bean 实例。该作用域只在当前 HTTP Request 内有效。

session:同一个 HTTP Session 共享一个 Bean 实例,不同的 Session 使用不同的 Bean 实例。该作用域仅在当前 HTTP Session 内有效。

6、spring注入的方式有哪几种

1.设值注入:通过set方法实现属性的注入

2.构造注入:通过构造方法实现属性的注入

3.自动装配:

        byName:按名字自动装配

        byType:按类型自动装配

        constructor:根据构造器参数的数据类型,进行 byType 模式的自动装配。

        default:默认采用上一级元素 <beans> 设置的自动装配规则进行装配。

        no:默认值,不使用自动装配

7、使用注解定义bean

@Component:可以作用在应用的任何层次,例如 Service 层、Dao 层等。  使用时只需将该注解标注在相应类上即可。

@Repository:该注解用于Dao 层其功能与 @Component 相同。

@Service:该注解通常作用在Service 层,其功能与 @Component 相同。

@Controller:该注解通常作用在控制层,其功能与 @Component 相同。

8、使用注解方式实现依赖注入

@Autowired :自动注入,根据类型自动注入

@Qualifier:配合@Autowired注解使用,用来指定具体的名称

@Resource :默认根据名字注入,如果注入失败,再根据类型注入

9、什么是AOP

面向切面编程;是对OOP(面向对象)思想的补充:(封装、继承、多态);aop是横向扩展;为了解决共性问题(日志,权限,事务,异常);,将共性问题的解决方案单独抽象出来,利用横切技术切入的系统中。

10、术语解释:

Joinpoint(连接点):指那些被拦截到的点,在Spring中,指可以被动态代理拦截目标类的方法。

Pointcut(切入点):指要对哪些Joinpoint进行拦截,即被拦截的连接点。

Advice(通知):指拦截到Joinpoint之后要做的事情,即对切入点增强的内容。

Target(目标):指代理的目标对象。

Weaving(植入):指把增强代码应用到目标上,生成代理对象的过程。

Proxy(代理):指生成的代理对象。

Aspect(切面):切入点和通知的结合。

11、springaop底层实现原理?

动态代理:

1、目标接口:jdk动态代理

2、目标类:cglib动态代理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值