求助:当浏览器有信息发送 spring boot 哪个类被最先触发,谢谢!

lsh9982010 2020-07-22 11:57:51
请教:
我用的是 idea
spring boot
有 4 个类

1:
EmpController 控制类

@RestController
public class EmpController {
@Resource
private EmpService empService = null;
@RequestMapping("/emp/{id}")

public Emp findById(@PathVariable("id") Integer id){
Emp emp = empService.findById(id);
return emp;
}
}

2:
Emp 实体类

import java.util.Date;

public class Emp {
private Integer empno;
private String ename;
private String job;
private Integer mgr;
private Date hiredate;
private Float sal;
private Float comm;
private Integer deptno;

public Integer getEmpno() {
return empno;
}

public void setEmpno(Integer empno) {
this.empno = empno;
}
}

3:
EmpMapper 接口类


public interface EmpMapper {
public Emp findById(Integer empno);
}


4:
EmpService 服务类


@Service
public class EmpService {
@Resource
private EmpMapper empMapper = null;

public Emp findById(Integer empno){
return empMapper.findById(empno);
}
}

emp.xml
<select id="findById" parameterType="Integer" resultType="com.itlaoqi.springbootmybatis.entity.Emp">
select * from emp where empno = #{value}
</select>



请教

问题1:
当在浏览器输入
localhost:8080/emp/1

springboot 这边是哪个类最先被触发

1:
EmpController 控制类

3:
EmpMapper 接口类


是哪个类被最先触发

spring 这边程序运行的顺序是什么?


问题2:

EmpMapper 接口类

public interface EmpMapper {
public Emp findById(Integer empno);
}

这个接口类的作用是什么?
为什么要这个接口类?

问题3:
spring boot

能不能主动向客户端发送信息?

谢谢!

谢谢!
...全文
5246 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fxxkingBeast 2020-07-28
  • 打赏
  • 举报
回复
多看点书。。。这点问题你自己都能解决了。。
angfenglw 2020-07-23
  • 打赏
  • 举报
回复
学习学习再学习
惊喜不断 2020-07-23
  • 打赏
  • 举报
回复
最先接触的 都不是 你写的这4个类,,,


是 Filter 类
亦夜 2020-07-22
  • 打赏
  • 举报
回复
问题一:当客户端发起请求,服务器接收请求解析请求并由handle调用对应controller执行controller逻辑,controller中调用对应的mapper生成动态代理类,创建SQLSession执行sql语句,(省略视图解析与渲染),返回结果 问题二:接口类的作用为了与数据库交互,为什么使用mapper?为了创建动态代理类,省略重复代码开发,提高开发效率,如果不使用代理类,需要自己创建sqlSessionFactory并开启SQLSession执行sql语句与数据库交互,类似原始的JDBC操作 问题三:springboot内部自动配置了websocket可以进行客户端消息推送和实时通讯,详细参考https://blog.csdn.net/weixin_38111957/article/details/86352677
qq_39936465 2020-07-22
  • 打赏
  • 举报
回复
引用 4 楼 lsh9982010 的回复:
b/s框架一般都是单边的,从客户端向服务器发送请求,服务器应答。你的需要相当于c/s,框架。 C/S 框架现在一般是用哪个框架? 谢谢!
因为现在主流是b/s , c/s好像没有开源框架,一般都是自己开发的。
Forevermark993 2020-07-22
  • 打赏
  • 举报
回复
引用 3 楼 qq_39936465 的回复:
[quote=引用 楼主 lsh9982010 的回复:]请教: 我用的是 idea spring boot 有 4 个类 1: EmpController 控制类 @RestController public class EmpController { @Resource private EmpService empService = null; @RequestMapping("/emp/{id}") public Emp findById(@PathVariable("id") Integer id){ Emp emp = empService.findById(id); return emp; } } 2: Emp 实体类 import java.util.Date; public class Emp { private Integer empno; private String ename; private String job; private Integer mgr; private Date hiredate; private Float sal; private Float comm; private Integer deptno; public Integer getEmpno() { return empno; } public void setEmpno(Integer empno) { this.empno = empno; } } 3: EmpMapper 接口类 public interface EmpMapper { public Emp findById(Integer empno); } 4: EmpService 服务类 @Service public class EmpService { @Resource private EmpMapper empMapper = null; public Emp findById(Integer empno){ return empMapper.findById(empno); } } emp.xml <select id="findById" parameterType="Integer" resultType="com.itlaoqi.springbootmybatis.entity.Emp"> select * from emp where empno = #{value} </select> 请教 问题1: 当在浏览器输入 localhost:8080/emp/1 springboot 这边是哪个类最先被触发 1: EmpController 控制类 3: EmpMapper 接口类 是哪个类被最先触发 spring 这边程序运行的顺序是什么? 问题2: EmpMapper 接口类 public interface EmpMapper { public Emp findById(Integer empno); } 这个接口类的作用是什么? 为什么要这个接口类? 问题3: spring boot 能不能主动向客户端发送信息? 谢谢! 谢谢!
1.最先触发的应该是配置文件,通过配置文件然后才能可以找到控制器,这4个类应该是controller先被触发。 2. 接口是用来配置控制器中mapping的id的。 3.spring boot 应该没有这个功能, b/s框架一般都是单边的,从客户端向服务器发送请求,服务器应答。你的需要相当于c/s,框架。[/quote]不要误导人家,去看看mybatis源码,然后再看看WebSocket协议
Forevermark993 2020-07-22
  • 打赏
  • 举报
回复
引用 2 楼 lsh9982010 的回复:
2.EmpMapper接口类是mybatis生成代理的接口类,会根据这个接口动态生成实现类 您的意思,是不是这样? 1: mybatis 会根据 EmpMapper 这个接口类 来生成一个 类? 2: 根据这个 EmpMapper 接口类 生成的动态类在哪里? 我可以看到的不? 谢谢!
1.是的 2.JDK动态代理机制动态生成了代理类 ,只要debug运行的时候跟踪源码可以看到$Proxy类似的动态生成的代理类
lsh9982010 2020-07-22
  • 打赏
  • 举报
回复
b/s框架一般都是单边的,从客户端向服务器发送请求,服务器应答。你的需要相当于c/s,框架。 C/S 框架现在一般是用哪个框架? 谢谢!
qq_39936465 2020-07-22
  • 打赏
  • 举报
回复
引用 楼主 lsh9982010 的回复:
请教: 我用的是 idea spring boot 有 4 个类 1: EmpController 控制类 @RestController public class EmpController { @Resource private EmpService empService = null; @RequestMapping("/emp/{id}") public Emp findById(@PathVariable("id") Integer id){ Emp emp = empService.findById(id); return emp; } } 2: Emp 实体类 import java.util.Date; public class Emp { private Integer empno; private String ename; private String job; private Integer mgr; private Date hiredate; private Float sal; private Float comm; private Integer deptno; public Integer getEmpno() { return empno; } public void setEmpno(Integer empno) { this.empno = empno; } } 3: EmpMapper 接口类 public interface EmpMapper { public Emp findById(Integer empno); } 4: EmpService 服务类 @Service public class EmpService { @Resource private EmpMapper empMapper = null; public Emp findById(Integer empno){ return empMapper.findById(empno); } } emp.xml <select id="findById" parameterType="Integer" resultType="com.itlaoqi.springbootmybatis.entity.Emp"> select * from emp where empno = #{value} </select> 请教 问题1: 当在浏览器输入 localhost:8080/emp/1 springboot 这边是哪个类最先被触发 1: EmpController 控制类 3: EmpMapper 接口类 是哪个类被最先触发 spring 这边程序运行的顺序是什么? 问题2: EmpMapper 接口类 public interface EmpMapper { public Emp findById(Integer empno); } 这个接口类的作用是什么? 为什么要这个接口类? 问题3: spring boot 能不能主动向客户端发送信息? 谢谢! 谢谢!
1.最先触发的应该是配置文件,通过配置文件然后才能可以找到控制器,这4个类应该是controller先被触发。 2. 接口是用来配置控制器中mapping的id的。 3.spring boot 应该没有这个功能, b/s框架一般都是单边的,从客户端向服务器发送请求,服务器应答。你的需要相当于c/s,框架。
lsh9982010 2020-07-22
  • 打赏
  • 举报
回复
2.EmpMapper接口类是mybatis生成代理的接口类,会根据这个接口动态生成实现类 您的意思,是不是这样? 1: mybatis 会根据 EmpMapper 这个接口类 来生成一个 类? 2: 根据这个 EmpMapper 接口类 生成的动态类在哪里? 我可以看到的不? 谢谢!
Forevermark993 2020-07-22
  • 打赏
  • 举报
回复
1.EmpController 类最先被触发 2.EmpMapper接口类是mybatis生成代理的接口类,会根据这个接口动态生成实现类 3.可以主动向客户端发消息,websocket,需要前后端配合实现全双工通信

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧