目标:
别问 问就是1的续集,有关Spring的放这里
学习产出:
- Spring-jdbc包里面有什么
- core,JdbcTemplate等相关核心接口和类,例如rowmapper之类的
- datasource,数据源相关辅助类
- object,将基本的JDBC操作封装成可复用对象
- support,错误码等其他辅助工具
- 如何定义一个bean
- @Component:定义一个方法的
- @Repository:定义仓储层的
- @Srevice:业务的服务放这里定义类的
- @Contorller:@Controller用于标记在一个类上,使用它标记的类就是一个SpringMVC的 Controller类,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了 @RequestMapping 注解。(等于我们rpc中的那个注解一样,)Contorller是springMVC专门用的
- JdbcTemplate
- query
- queryForObject
- queryForList
- update
- execute
- builder()方法
- 设计模式中的建造者模式,就是一个对象的创建与它的表示分离
- 例如说有一个十分复杂的DO,在创建的时候吗可能考虑要set很多值,bulider的作用,就是DO的set值操作交给Builder做,Builder里面有构建方法和一些set值操作,特殊的是,set完值之后会将整个Bulider对象返回,除了这些以外,里面还有build方法,当你调用的时候,返回的是一个新的DO
- lombok插件可以做优化,只需要在那个DO加上@Data @Builder这两个注解,就能实现Bulider的操作
- 批量操作
- 使用JdbcTemplate的batchUpdate方法,第二个参数使用BatchPreparedStatementSetter
- namedParameterJdbcTemplate的batchUpdate,第二个参数使用SqlParameterSourceUtils.createBatch
- 出现的循环依赖问题
- 原因:A依赖于B,B依赖与A
- spring2.6.0默认禁止循环引用
- 解决方案:
- 1 改代码
- // 允许循环引用 application.setAllowCircularReferences(true); application.run(args);
- 2 加配置
- allow-circular-references: true
- 1 改代码
目标:
day1 还行 奖励自己吃泡面咯~