
SSH
来一杯java压压惊
这个作者很懒,什么都没留下…
展开
-
SpringAop——cjlib动态代理
创建目标类和方法public class Target{ public void save(){ System.out.println("save running..."); }}创建增强方法public class Advice{ public void before(){ System.out.println("前置增强..."); } public void afterReturning(){ System.out.pringln("后置增强..."); }}创原创 2020-08-10 00:22:01 · 293 阅读 · 0 评论 -
SpringAOP——JDK动态代理
创建目标接口public interface TragetInterface{ public void save();}创建实现类,实现接口public class Trage implements TragetInterface{ public void save(){ System.out.println("save running..."); }}创建增强public class Advice{ public void before(){ System.out.pri原创 2020-08-10 00:03:27 · 154 阅读 · 0 评论 -
Spring新注解
使用自定义注解不能全部替代xml配置文件,还要使用到注解代替的配置有:1.非自定义的bean的配置2.加载properties文件的配置coontext:property-placeholder3.组件扫描的配置context:component-scan4.引入其他文件spring新注解|注解|说明 ||@Configuration|用于指定当前类是一个Spring配置类,当创建容器时会从该类上加载注解||@ComponentScan|用于指定Spring在初始化时要扫描的包。作用和Sp原创 2020-08-09 01:17:26 · 245 阅读 · 0 评论 -
struts中Action中操作域对象
原创 2019-10-20 15:57:30 · 120 阅读 · 0 评论 -
Hibernate实体类的操作
实体类crud操作加载配置文件以及获取session、事务开启和事务提交、session关闭前边有,不多说,只描述关键代码添加数据前边有,也不写根据ID查询 //调用session中的get方法 //第一个参数:实体类的class //第二个参数:ID值 User user=session.get(User.clss,1); system .out.println(user);...原创 2019-10-20 15:57:01 · 261 阅读 · 0 评论 -
Hibernate中的一级缓存
Hibernate缓存的特点第一类:一级缓存1、Hibernate一级缓存默认是打开的。2、Hibernate的一级缓存有使用的范围,是session的范围,即从session创建到session关闭的范围。3、Hibernate的一级缓存中,存储的数据必须是持久态数据。第二类:二级缓存(不用了,代替技术:Redis)1、二级缓存默认不是打开的。2、使用范围是SessionFacto...原创 2019-10-20 15:56:48 · 150 阅读 · 0 评论 -
Hibernate事务操作、绑定本地线程
Hibernate中事务代码规范写法结构在这里插入代码片原创 2019-10-20 15:55:52 · 177 阅读 · 0 评论 -
Spring概述和IOC(xml配置文件)
Spring概念(1)Spring是开源的轻量级框架(2)Spring核心主要分为两部分:(1)aop:面向切面编程,扩展功能不是修改源代码实现。(2)IOC:控制反转。比如有一个类,在类里面有方法(不是静态方法),调用类里面的方法,创建类的对象,使用对象调用方法,创建类的过程,需要new出来对象。而控制反转就是把创建对象不是通过new方式实现,而是交给spring配置创建类对象。(3...原创 2019-10-20 15:55:33 · 289 阅读 · 0 评论 -
Log4j
概述通过log4j可以看到程序运行过程中的一些更详细的信息(比如日志,错误信息,对象创建等)操作步骤:1、导入log4j的jar包2、复制log4j的配置文件(log4j.properties)到src下面log4j.rootLogger=级别,stdout:info:基本信息。 debug:更加详细的信息3、...原创 2019-10-20 15:55:21 · 112 阅读 · 0 评论 -
AOP原理
概念AOP:面向切面编程,扩展功能不通过修改源代码实现。AOP采用横向抽取机制取代了纵向继承体系重复性代码。aop操作的相关术语Spring中AOP的操作在spring里面进行aop操作,使用aspectJ实现aspectJ不是spring的一部分,和spring一起使用进行aop操作。导入相关的jar包,出来导入spring基本的jar包之外还需要导入:aopallian...原创 2019-10-20 15:55:09 · 191 阅读 · 0 评论 -
Spring的jdbcTemplate实现crud操作
步骤:导入jdbc模板的jar包和数据库驱动jar包(不同数据库找不同jar包,这里不写了)创建对象,设置数据库信息创建jdbcTemplate对象,设置数据源调用jdbcTemplate对象里面的方法实现操作添加修改删除查询返回结果是 一个值**返回结果是对象 **返回结果是list集合...原创 2019-10-20 15:54:58 · 285 阅读 · 0 评论 -
Spring配置c3p0连接池
配置c3p0连接池步骤:(1)导入jar包:c3p0.jar、mchange-commons-java.jar(spring依赖包)(2)创建spring配置文件,配置 c3p0原始方式实现:Spring配置文件实现:(1)引入约束(2)配置c3p0连接池dao使用jdbcTemplate(1)创建service和dao类,在service中注入dao对象(2)创建jd...原创 2019-10-20 15:54:45 · 150 阅读 · 0 评论 -
Spring中的事务的管理
spring事务管理apispring事务管理的两种方式第一种 编程式事务管理(不用)第二种 声明式事务管理(1)基于xml配置文件实现(2)基于注解实现spring事务管理api接口:PlatformTransactionManager 事务管理器spring针对不同的dao层框架,提供接口不同的实现类案例:搭建转账环境配置文件中用到的最全约束,直接使用即可(jar包提...原创 2019-10-20 15:54:26 · 118 阅读 · 0 评论 -
SSH整合
三大框架核心知识Hibernate:(1)orm思想:对象关系映射(2)hibernate核心配置文件:如果只是单纯使用hibernate框架,核心配置文件名称hibernate.cfg.xml的位置在src下面,是固定的。如果hibernate和spring整合的时候,hibernate核心配置文件的名称和位置没有固定的要求。(3)hibernate映射配置文件:实体类和数据库表映...原创 2019-10-20 15:54:10 · 134 阅读 · 0 评论 -
Struts2标签库
常用标签<s:property>:和ognl表达式在jsp页面中获取值栈数据<s:iterator>:获取值栈list集合数据,表示list集合<s:debug>:查看值栈的结构和数据表单标签2、struts2中的表单标签效果:效果:...原创 2019-10-17 17:39:40 · 211 阅读 · 0 评论 -
Struts2拦截器
概述struts2里面封装了很多的功能,有很多的拦截器,但不是每次这些拦截器都执行,每次只是执行默认的拦截器。拦截器的位置:拦截器什么时候执行?在action对象创建之后,在action里面的方法执行之前拦截器底层原理第一个aop思想aop是面向切面(方面)变成,有了基本功能,如果要扩展的话,不通过修改源代码方式扩展功能。责任链模式在java中有很多的设计模式,责任链模式就是其...原创 2019-10-17 17:05:04 · 119 阅读 · 0 评论 -
Struts2值栈
ognl概述使用struts2标签(1)jsp中使用jstl时,导入jar包,在jsp页面中引入标签库,同样使用struts2标签时,在jsp中引入标签库ognl的jar包:ognl.jar(2)使用struts标签实现操作什么是值栈?获取值栈对象值栈内部结构Context内部结构向值栈中放数据(1)获取值栈对象,调用对象里面的set方法(2)获取值栈对...原创 2019-10-16 21:13:41 · 409 阅读 · 0 评论 -
Hibernate检索策略
概念Hibernate中检索策略分为两类:关联级别延迟操作批量抓取场景:查询所有客户,返回list集合,遍历list集合,得到每个客户,再得到每个客户的联系人不做优化的话会发送很多条数据,性能降低batch-size中没有固定的值,整数即可,数值越大,性能越高...原创 2019-10-16 13:38:19 · 121 阅读 · 0 评论 -
struts2封装数据到list集合和map集合
封装数据到list集合1、在action中声明list2、生成list变量的set和get方法3、在表单中输入项里边写表达式封装数据到Map集合1、在action中声明map2、生成list变量的set和get方法3、在表单中输入项里边写表达式...原创 2019-10-16 13:36:30 · 155 阅读 · 0 评论 -
Hibernate查询方式
对象导航查询(根据ID查询某个客户,在查询这个客户里面的所有联系人)查询某个客户中的所有联系人OID查询(根据ID查询某一条记录,返回对象)使用session对象中的get方法实现hql查询(操作实体类和属性,Query对象,写hql语句实现查询)常用语句:查所有:from 实体类名称条件查询:from 实体类名称 where 实体类属性名称=?and实体类名称=?或from...原创 2019-10-16 11:55:16 · 133 阅读 · 0 评论 -
Hibernate查询所有数据
Query对象查询所有使用Query对象,不需要写sql语句,但是要写hql语句hql和sql的区别:sql操作表和表字段,hql操作实体类和属性//创建Query对象//参数:form+实体类名称Query query=session.createQuery("from User"); //单用Query对象里面的方法得到结果List<User> list=query...原创 2019-10-15 21:49:05 · 158 阅读 · 0 评论 -
Hibernate概述__环境搭建
创建数据库(仅仅创建数据库)并且创建实体类,生成属性的get和set方法hibernate映射配置文件文件的配置位置:任意,建议在同类名的包中名称:随意,建议类名.hbm.xmlhibernate核心配置文件位置:必须在src下边名称:必须是hibernate.cfg.xml代码实现测试过程:加载hibernate核心配置文件(找到src下面hibernate.cfg.x...原创 2019-10-15 21:46:00 · 129 阅读 · 0 评论 -
Hibernate操作多对多关系的表
Hibernate操作多对多关系的表多对多映射配置创建实体类并生成属性的get和set方法两个实体类互相表示(用户里边表示所有角色(set),一个角色中有多个用户(set))配置多对多映射的关系User.xml配置Role.xml配置:核心配置文件中引入映射文件多对多级联保存多对多级联删除维护第三张表关系...原创 2019-10-15 21:45:36 · 129 阅读 · 0 评论 -
Hibernate表之间一对多的配置
Hibernate中表一对多的配置一对多映射配置第一步:创建实体类(客户和联系人实体类)生成属性的get和set方法第二步:让这两个实体类之间互相表示(1)在客户实体类中表示多个联系人(2)在联系人实体类中表示所属客户(3)配置映射关系(一个实体类写一个映射文件)在客户映射文件中,表示所有联系人在联系人映射文件中,表示所属客户(4)创建核心配置文件,将映射文件引入核心...原创 2019-10-15 20:03:10 · 206 阅读 · 0 评论 -
使用ActionServletContext获取表单数据封装到实体类
最原始方式针对这种大数据写入时,原始方式太过复杂,所以struts2提供了三种封装方式###属性封装(不能直接把数据放到对象中去)1.直接把表单提交的数据封装到Action的属性中2.实现步骤(1)在action成员变量位置定义变量,变量名必须和表单输入项的name属性值一样(2)生成变量的set方法(为了方便记忆就把set和get方法都写出来)###模型驱动封装(可以直接把表单...原创 2019-10-14 21:14:53 · 336 阅读 · 0 评论 -
使用ServletActionContext获取表单提交数据
web页面信息定义cless继承ActionSupportsrturs.xml配置![在这里插入图片描述](https://img-blog.csdnimg.cn/20191014192731604.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZ...原创 2019-10-14 19:37:18 · 365 阅读 · 0 评论 -
Struts2中使用ActionContext获取表单提交数据
使用ActionContext获取表单提交数据web页面中的表单username:password:address:创建一个Action继承ActionSupportstruts.xml中的配置原创 2019-10-14 19:11:11 · 202 阅读 · 0 评论