![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
HK_Hust
正在努力学Java的Huster
展开
-
spring事务控制
spring的事务控制Spring提供了一组事务控制的接口,在spring-tx-…jar中.PlatformTransaction接口的实现类 当用JDBC,iBatis,用DataSourceTransactionManger.基于XML的配置.配置事务管理器.配置事务的通知. (此时需要导入事务的约束 有aop tx) < tx:advice >配置AOP中的...原创 2019-10-31 20:34:30 · 148 阅读 · 0 评论 -
Spring MVC&&Spring整合框架
三层架构 : 表现层 业务层 持久层MVC设计模型: 模型 javabean 视图 jsp 控制器 servlet.Spring MVC 与Struts2区别核心控制器不同 前者为Servlet,后者为Filter.Spring MVC基于方法设计 而Struts2基于类,Struts2 多例,每次执行都会创建一个类.Struts2 的OGNL表达式 ...原创 2019-10-31 20:32:58 · 146 阅读 · 0 评论 -
JDBCTemplate
JDBCTemplateSpring的模板对象,就是用于和数据库交互的,实现对表的CRUD操作. 需要两个依赖 spring-jdbc spring-tx .原创 2019-10-22 07:19:43 · 89 阅读 · 0 评论 -
AOP
AOP(Aspect Oriented Programming) 面向切面编程通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低.提高可重用性.概念Joinpoint(连接点):就是业务层接口里面所有的方法,可以将连接业务层和动态代理增强后的方法连接起来.Pointcut(切入点):业务层里面...原创 2019-10-20 11:10:52 · 95 阅读 · 0 评论 -
动态代理
动态代理特点 : 字节码随用随创建,随用随加载作用: 不修改袁爱民的基础上对方法加强分类 : 基于接口/子类的动态代理基于接口的动态代理:涉及的类 :Proxy 提供者JDK官方.如何创建代理对象 使用Proxy类中的newProxyInstance方法创建代理对象的要求 被代理类最少实现一个接口, 是最终(final)类,如果没有则不能使用.newProxyI...原创 2019-10-18 11:16:59 · 94 阅读 · 0 评论 -
转账业务
步骤最后的步骤应该为:try{1. 开启事务2. 执行操作3. 提交事务}catch(Exception e){4. 回滚事务}finally{5. 释放连接}事务控制.一次转账应该由同一个connection来控制,而不是4个单独的连接. 需要使用ThreadLocal对象吧Connection和当前线程绑定,从而使一个线程中只有一个控制事务的对象.首先写一个连接的...原创 2019-10-18 10:41:54 · 300 阅读 · 0 评论 -
Spring新注解
Spring新注解Configuration&&ComponentScan在前面的xml注解中,我们会用到扫描自己的类,只能注解自己定义的类.而像Runner这些 还是需要用Constructor注入方式来注入.所以就有了新的注解方式,可以对所有的进行注解.与resources同级目录下创建一个config包,写一个java文件.该类是一个配置类,作用和bean.xml...原创 2019-10-17 22:15:54 · 155 阅读 · 0 评论 -
Spring常用注解
Spring常用注解首先 对应bean非注解过程 可分为:用于创建对象的用于注入数据的用于改变作用范围的和生命周期相关的注解首先要在bean.xml中告知spring在创建容器时要扫描的包的位置.配置的标签不在beans的约束中,而是在context名称空间和约束中 在spring官网搜索xmls:context 复制那段beans即可. 然后写<context:c...原创 2019-10-16 15:07:42 · 110 阅读 · 0 评论 -
IOC&&DI
解耦降低程序间的依赖关系.应该做到编译期不依赖,运行时才依赖.解耦的思路:1.使用反射来创建对象,避免使用new关键字,2.通过读取配置文件来获取要创建对象的全限定类名.service,dao,ui(client)解耦工厂模式解耦创建Bean对象的工厂Bean指可重用组件.service可以被很多servlet使用,dao可以被很多service使用.所以就是创建我们的serv...原创 2019-10-15 12:54:45 · 98 阅读 · 0 评论 -
Mybatis缓存
Mybatis缓存延迟加载与立即加载**延迟加载**:在真正使用数据时才发起查询,不用时候不查询,按需加载.**立即加载**:不管用不用,全部查询出来.通常情况下四种表的对应关系中:一对多,多对多:延迟加载多对一,一对一:立即加载.延迟加载的步骤.首先在主配置文件中开启延迟加载.在Mybatis官网中的配置讲解中 setting里面有两个属性lazyLoadingEnabled...原创 2019-10-14 16:48:44 · 68 阅读 · 0 评论 -
Mybatis的多表查询
Mybatis的多表查询示例:用户和账户.一个用户可以有多个账户,一个账户只能属于一个用于(多个账户也可属于一个用户)步骤建立两张表:用户表,账户表.建立两个实体类:用户实体类和账户实体类.建立两个配置文件.实现配置:当我们查询用户时,可以同时得到用户下所包含的账户信息.当我们查询账户时,可以同时得到账户所属用户信息....原创 2019-10-12 21:19:51 · 117 阅读 · 0 评论 -
Mybatis连接池及事务管理&&动态SQL
Mybatis连接池配置的位置:在主配置文件中的dataSource标签.type属性表示用何种连接池.type属性的取值.POOLED 采用传统的javax.sql.DataSource规范中的连接池,Mybatis中有针对规范的实现.UNPOOLED 采用传统的获取连接的方式,虽然也实现DataSource接口,但不提供连接池.JNDI 采用服务器提供的JNDI技术实现,不同...原创 2019-10-12 10:49:18 · 103 阅读 · 0 评论 -
MybatisCRUD操作
MyBatis的CRUD操作步骤:修改Dao接口.在Mapper中对应Dao接口的完整namespace+id写SQL语句.方法有返回类型的需要有 resultType 有传参的类型需要写 parameterType.insert into user(…) values(#{a},#{b});增删改需要进行commit,因为Setting autocommit to false....原创 2019-10-05 17:18:52 · 141 阅读 · 0 评论 -
Day02
Mybatis的分析(续)分析代理对象根据dao接口的字节码创建dao的代理对象 public <T> T getMapper(Class<T> daoInterfaceClass){ /** 类加载器:同被代理对象的类加载器. 必须和被代理对象实现相同的接口. 如何代理:就是增强的方法,此处是一个实现InvocationHandler接口的类,调用...原创 2019-10-01 17:05:17 · 64 阅读 · 0 评论 -
Day1
Maven的问题首先配置环境,MAVEN_HOME,然后在path里加%MAVEN_HOME%\bin修改conf\settings.xml 添加一些基本配置.<!--设置本地仓库路径 --> <localRepository>E:\Develop\Maven\maven_repository</localRepository><!--...原创 2019-09-29 21:23:42 · 91 阅读 · 0 评论