源码阅读

朴灿烈づ我的快乐病毒、 2023-01-18 13:22 76阅读 0赞

文章目录

  • 目录
  • spring源码
  • 设计模式
    • 创建型模式
  • 地址
  • 获取类信息(Class)的2种方式
  • mybatis-设计模式

目录

spring,springboot,rocketmq,mybatis,mybatis-plus,eureka,tomcat,netty

flowable框架(源码编译flowable-https://www.jianshu.com/p/96ed4099da47)

spring源码

分析源码的: https://github.com/seaswalker/spring-analysis

设计模式

创建型模式

工厂,建造者,单例,原型,抽象工厂

地址

手写简单的注册中心

MyBatis配置详解https://www.cnblogs.com/chy18883701161/p/12120023.html
https://blog.csdn.net/kaituozhe\_sh/article/details/89520073

Mybatis之ObjectWrapper接口:该接口用来对数据库查询到的值设置到实体对象或Map对象的属性中。
https://www.jianshu.com/p/9f668bd95414

获取类信息(Class)的2种方式

  1. User user = new User();
  2. Class<? extends User> userClazz = user.getClass();
  3. Class<?> userClazz = Class.forName("org.lmj.hf.orm.pojo.User");

mybatis-设计模式

菜鸟教程-设计模式-目录
mybatis设计模式以及代码实践

原生jdbc

  1. public class DbUtil {
  2. public static final String URL = "jdbc:mysql://localhost:3306/imooc";
  3. public static final String USER = "liulx";
  4. public static final String PASSWORD = "123456";
  5. public static void main(String[] args) throws Exception {
  6. //1.加载驱动程序
  7. Class.forName("com.mysql.jdbc.Driver");
  8. //2. 获得数据库连接
  9. Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
  10. //3.操作数据库,实现增删改查
  11. Statement stmt = conn.createStatement();
  12. //execute可以执行任何sql,有返回值则bool=true,rs!=null
  13. //Boolean bool = st.execute(sql); ResultSet rs = stmt.getResultSet();
  14. //executeQuery只能执行查询,executeUpdate只能执行更新
  15. ResultSet rs = stmt.executeQuery("SELECT user_name, age FROM imooc_goddess");
  16. //如果有数据,rs.next()返回true
  17. while(rs.next()){
  18. System.out.println(rs.getString("user_name")+" 年龄:"+rs.getInt("age"));
  19. }
  20. }
  21. }

代理模式:java原生动态代理
动态实现接口,比如mybatis里面的xxxMapper

建造者模式

变更的需求:【苹果电脑,联想电脑】—》8/16寸显示屏,英特尔/华硕主板
输出的产品都是一台有主板,显示屏,操作系统的电脑

  1. public static void main(String[] args){
  2. Builder builder=new MacBookBuilder(); //变动的---这是扩展点
  3. Director pcDirector=new Director(builder);
  4. pcDirector.construct("英特尔主板","Retina显示器"); //变动的---这是不同场景下配置的参数
  5. Computer computer = builder.build();
  6. System.out.println(computer.toString());
  7. }

使用建造者模式-—- 构造——>工厂对象========》工厂模式-—-构造——->(sql执行器)SqlSession

发表评论

表情:
评论列表 (有 0 条评论,76人围观)

还没有评论,来说两句吧...

相关阅读

    相关 tinyhttp阅读

    1.综述 这是一个小型的开源http服务,总代码量加上注释一共482行,实际上真正的核心代码就350行左右。虽然代码量不多,但是一款http服务器最基本的通信业务流程都具