面试攻略java提问


前言


一、项目的SSM?

1.如何理解前后端分离

首先我认为软件技术和业务发展到了一定程度,在项目管理工作上必须进行的一种升级,或者简单理解为公司部门架构的一种调整。
至于这种变化其实是因为初期的软件开发其实更侧重于后端,前端的页面功能主要是简单的数据展示,提供基本的操作,这样做的后果就是项目的重点放在后台业务逻辑处理上,

但是随着业务和技术的发展,前端功能越来越复杂,变得越来越重要,同时前端的技术栈越来越丰富!这样我们在开发中遇到的问题就越来越多,解决这些问题的难度就越来越大,这时我们发现前端开发不能像以前那样零散的分布在整个系统架构当中了。前端也应该像后端那样,实现工程化、模块化、系统化。

如何做就是成立专门的前端部门,把原来混合的这种开发模式进行分离,形成独立的前端部门和后端部门。

解决方式很简单:就是使用前后端分离的方式进行开发!
前端只需要独立编写客户端代码,后端也只需要独立编写服务端代码提供数据接口即可
前端通过AJAX请求来访问后端的数据接口,将Model展示到View中即可
单体——> 前端应用 + 后端应用
前端应用:负责数据展示和用户交互
后端应用:负责提供数据处理接口
前端HTML——>Ajax——>RestFul后端数据接口

在这里插入图片描述
2.ssm框架中springmvc工作原理
spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
在这里插入图片描述
在这里插入图片描述
3,mybatis
MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
在这里插入图片描述
在这里插入图片描述

二、Springboot注解

依赖注入方式,@Resource是jdk中的,@Autowired是spring的,两个都可以注入一个java bean。

1.@Autowired

由Spring的依赖注入工具(BeanPostProcessor、BeanFactoryPostProcessor)自动注入,Spring提供的工具。这个注解是最常用的注解,请切记!

@Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。

其实在启动spring IoC时,容器自动装载了一个AutowiredAnnotationBeanPostProcessor后置处理器,当容器扫描到@Autowied、@Resource(是CommonAnnotationBeanPostProcessor后置处理器处理的)或@Inject时,就会在IoC容器自动查找需要的bean,并装配给该对象的属性

在使用@Autowired时,首先在容器中查询对应类型的bean自动装配

如果查询结果刚好为一个,就将该bean装配给@Autowired指定的数据

如果查询的结果不止一个,那么@Autowired会根据名称来查找。

如果查询的结果为空,那么会抛出异常。解决方法时,使用required=false
    在这里插入图片描述

1.@Resource

依赖注入,给对象的属性注入数据,可以定义在字段上,也可以定义在方法上。一般用在注入dao层数据源,跟@Autowired相似,区别就是@Autowired默认是先根据类型,而@Resource默认是先根据名称

二、如何使用Mybatis?

使用mapper接口
1、pom文件里添加jar包
2.准备mybatis的配置文件
换成新的user mapper xml文件
3.准备实体类
getid, setid getpassword getusername
4.准备mapper接口
public interface User2Mapper
5.准备实体对应的mapper映射xml文件 namespacce一定得写正确
6.准备一个获取sqlsession的工具类
7.准备dao
实体类进行实现设置
8.准备测试类

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值