
☛JavaWeb
文章平均质量分 90
KLeonard
这个作者很懒,什么都没留下…
展开
-
Spring——基于注解的配置
Spring注解配置从 Spring 2.5 开始就可以使用注解来配置依赖注入。使用注解的方式使我们无需在XML中配置一个Bean引用,更加简单和方便。注解配置默认情况下在Spring中是关闭的,我们需要在配置文件中使用<context:annotation-config/>激活它。如下spring-config.xml文件:<?xml version="1....原创 2018-07-15 11:21:24 · 21192 阅读 · 4 评论 -
Spring——ApplicationContext & Bean的生命周期
关于ApplicationContext和BeanFactory如果使用ApplicationContext,则配置的Bean如果scope属性是singleton,那么当容器被加载时,这些Bean就会被实例化。好处是可以预先加载,速度快;缺点是耗内存。如果使用BeanFactory,则当你实例化该对象的时候,配置的Bean不会被马上实例化,当你使用的时候才被实例化。BeanFacotry...原创 2018-03-11 23:23:16 · 2545 阅读 · 0 评论 -
Spring——DI配合接口编程案例
体验一下Spring的DI配合接口编程,完成一个字母大小写转换的案例:步骤如下:1.创建一个接口ChangeLetterpublic interface ChangeLetter { // 声明一个方法 public String change();}2.写两个实现类,分别实现大写转小写,和小写转大写:public class UpperLetter impl...原创 2018-03-11 22:31:49 · 659 阅读 · 0 评论 -
Hibernate——入门
Hibernate是什么?Hibernate是一个框架(framework);Hibernate是一个ORM框架(Object Relation Mapping,对象关系映射);Hibernate处于项目的持久层(故也称之为持久层框架);(持久的意思就是把对象的信息保存到数据库或者是文件中)Hibernate实际上就是对JDBC进行了轻量级封装;Hibernate的基础还是Java的...原创 2018-03-04 11:57:06 · 1821 阅读 · 0 评论 -
Spring——入门
Spring是什么? Struts是Web框架 Hibernate是ORM框架,处于持久层 Spring是容器框架,用于配置Bean,并维护Bean之间关系的一种框架。 Spring中有一个非常重要的概念:Bean,Bean是Java中的任何一种对象,它可以是JavaBean、可以是Service,可以是Action,也可以是DAO重要的概念:IOC(控制反转,...原创 2018-03-11 16:23:02 · 4083 阅读 · 5 评论 -
Hibernate——对象标识符生成方法(主键增长策略)
Hibernate对象标识符(OID)Hibernate中的持久化对象对应数据库中的一张数据表,因此区分不同的持久化对象,在Hibernate中是通过OID(Object ID,对象标识符)来完成的,从表的角度看,OID对应表的主键。从类的角度看,OID对应类的主键属性。对象标识符生成方法Hibernate中的主要对象标识生成策略很多,这里主要介绍9中标识符生成方法。其中包括7种标...原创 2018-03-10 21:48:24 · 725 阅读 · 0 评论 -
Hibernate——关系映射之多对多
关系映射之多对多多对多的关系在操作和性能方面都不太理想,所以多对多的映射使用较少,实际使用中最好转换成一对多的对象模型;Hibernate会为我们创建中间表,转换成两个一对多。经典案例:学生<–>选课,如下将学生选课关系用中间表来关联。这个案例在我们学习HQL语句的时候也用过,所以这里再简要介绍一下。更多的细节请参考【Hibernate——HQL语句】三个对象的do...原创 2018-03-10 20:20:25 · 691 阅读 · 0 评论 -
Hibernate——关系映射之一对一
关系映射之一对一基于主键的一对一基于主键的一对一就是说:对于从表,它的主键就是它的外键。那么这个一对一关系就非常明确。经典案例:人<–>身份证,Person的id同时是IDCard的id我们建立项目HibernateOneToOne进行测试。两个domain对象以及它们的映射文件如下:Person对象以及映射文件:package com.ga...原创 2018-03-10 20:09:32 · 564 阅读 · 0 评论 -
Hibernate——关系映射之多对一与一对多 & 懒加载 & 级联操作
在Hibernate中,两个相互有关联的数据库表在配置的时候需要额外的配置。关系映射之多对一多对一的经典案例:老师 <–> 部门,即一个老师只能对应一个部门,而一个部门对应多个老师。下面通过示例说明多对一的关系。创建项目HibernateManyToOne。1.首先创建Teacher对象和Department对象。package com.gavin.doma...原创 2018-03-09 23:11:31 · 2314 阅读 · 0 评论 -
Hibernate——自动创建数据库表 & 对象的三种状态
自动创建数据库表如果需要Hibernate根据映射关系自动创建数据库,则需要配置hibernate.cfg.xml文件<property name="hbm2ddl.auto">create</property>这里有四个配置,分别是:create、update、create-drop和validatecreate:当我们的应用程序加载hibernate....原创 2018-03-08 23:42:29 · 1453 阅读 · 0 评论 -
Hibernate——HQL语句
HQL(Hibernate Query Language) – 官方推荐前面的入门示例中,我们通过session.load(Employee.class, 1),也就是通过load()方法或者get()方法,可以通过主键属性来查询一条记录。当然这种方法很有局限性,为了更多的查询需求,我们需要使用HQL语句。HQL即Hibernate查询语言,它是面向对象的查询语言,与SQL不同,HQL中的...原创 2018-03-08 00:05:04 · 14227 阅读 · 0 评论 -
Struts1.3——使用MyEclipse集成工具开发Struts
本文介绍了通过MyEclipse集成工具开发Struts的一般流程原创 2016-06-23 13:09:56 · 5254 阅读 · 5 评论 -
Struts1.3——登录案例的改进
本文简要介绍了struts的scope属性、中文乱码处理以及struts-config.xml文件等几个知识点原创 2016-06-22 10:49:57 · 3072 阅读 · 0 评论 -
Spring——装配Bean
基本装配在Spring容器内拼凑Bean叫做装配。装配Bean的时候,需要告诉哪些Bean以及容器如何使用依赖注入将它们配合在一起。使用XML装配XML是最常见的Spring应用系统配置源。几种Spring容器都支持使用XML装配Bean,包括:XmlBeanFactory:调用ClassPathResource载入上下文定义文件(比如applicationContext...原创 2018-03-12 22:36:39 · 1417 阅读 · 0 评论 -
Hibernate——Hibernate核心类和接口
Hibernate核心类和接口Configuration类负责管理Hibernate的配置信息读取hibernate.cfg.xml文件加载hibernate.cfg.xml配置文件中配置的驱动,url,用户名,密码,连接池管理 *.hbm.xml对象关系文件hibernate.cfg.xml文件该文件用于指定各个参数,是hibernate的核心文件默认放在s...原创 2018-03-05 23:14:59 · 686 阅读 · 0 评论 -
Spring——AOP(2)之Spring 2.0 中的配置
Spring 2.0 AOPSpring2.0提供了一种更简便也更强大的方式来编写切面,可以通过基于schema的方式,也可以通过@AspectJ注解的方式,这两种方式都提供了完整的AspectJ切入点语言中的通知和使用方法,但是依然使用的是Spring AOP的织入方式,也就是通过代理的方式进行织入(不同于AspectJ在编译期织入)。Spring 2.0 AOP完全兼容Spring 1...原创 2018-06-06 12:15:57 · 1717 阅读 · 0 评论 -
AspectJ——切入点语法(5)之限制连接点的作用域
限制连接点的作用域在定义切入点的时候,我们经常遇到的需求是:基于所关注的程序作用域,限制捕获连接点的范围。本节将介绍within以及withincode的用法。within可以指定切入点的作用域在包中或者类中,withincode可以通过方法签名限制连接点的作用域在方法中。0.捕获特定类中的所有连接点首先,我们使用within(TypePattern)切入点来捕获特定类中的所有...原创 2018-05-08 13:49:47 · 1414 阅读 · 0 评论 -
AspectJ——切入点语法(4)之捕获属性上的连接点
捕获属性上的连接点AspectJ提供了get(Signature)和set(Signature)切入点的形式,来捕获可能发生在类属性上的任何访问和修改。这也是AspectJ的一个比较受争议的特性,因为它会有效地破坏类的封装性,特别是当把被监视的属性声明为protected或者private时。所以这两个属性可以提供强大的手段来通知类,但是必须小心地使用它们。0.捕获对属性的访问...原创 2018-05-07 21:10:30 · 1381 阅读 · 0 评论 -
AspectJ——切入点语法(3)之捕获类和对象构造上的连接点
捕获类和对象构造上的连接点在Java中,一个类在实例化之前要经过三个步骤:装载、连接、初始化。装载即通过类型的完全限定名,产生一个代表该类型的二进制数据流,解析这个二进制数据流为方法区内的内部数据结构,并且创建一个表示该类型的java.lang.Class类的实例。连接即Java虚拟机为类变量分配内存,设置默认的初始值,并且解析变量。初始化主要完成对静态变量的初始化、静态块执行等工作,Java...原创 2018-05-07 19:38:20 · 2651 阅读 · 1 评论 -
AspectJ——切入点语法(2)之捕获异常处理上的连接点
捕获异常处理上的连接点在Java中抛出异常时,会将其向上传递给调用链,直到它被try/catch块中的catch语句处理,或者它到达Java运行库并在控制台上引发一条出错的消息。如果捕获到Java异常,就会把该异常作为一个对象传递给相应的catch语句,在其中处理该异常。使用切面可以捕获异常的处理,其应用的场景可以是:除了catch块的正常异常处理行为之外,使用切面还需要做某些事情;或者干...原创 2018-05-06 17:08:31 · 4484 阅读 · 0 评论 -
AspectJ——切入点语法(1)之捕获方法上的连接点
捕获方法上的连接点0.捕获方法调用在调用具有特定签名的方法时,你想捕获它,可以使用call(Signature)切入点,它的语法是:pointcut [切入点名字](参数列表): call(<可选的方法修饰符> [返回类型] [类名].[方法名]([参数类型]))注意三点:1.call(Signature)是在方法调用上触发通知,其环境是调用类。2.Si...原创 2018-05-05 22:54:58 · 2995 阅读 · 0 评论 -
AspectJ——基于注解的开发方式
基于注解的开发方式AspectJ5版本支持了基于注解的开发方式,当然其仍然需要AspectJ自己的编译器。要使用基于注解的开发方式,需要为项目引入aspectjweaver.jar包,该Jar包也在AspectJ安装目录下的lib目录中。aspectjweaver.jar中包含了aspectjrt.jar包中的内容,所以只需要引入aspectjweaver.jar包即可。0.一个示...原创 2018-05-11 10:46:07 · 8741 阅读 · 1 评论 -
AspectJ——切入点语法(7)之this、target、args、if以及逻辑运算
更多的切入点语法本节介绍AspectJ中更多的切入点语法,有很多在之前都用过,这里做一个总结。0.捕获this引用的是特定类型对象的连接点AspectJ提供了this原生切入点来捕获所有的连接点,这些连接点处的this引用的是一个特定的类型。我们在Test13包下做测试,首先业务类Service如下:package Test13;public class Servi...原创 2018-05-10 15:40:48 · 2874 阅读 · 0 评论 -
AspectJ——定义通知
定义通知切入点定义了你对哪些连接点感兴趣,通知则定义了当遇到这些连接点时要做什么。通过块包含直观的Java代码,它看起来非常像Java方法,只不过不能从应用程序中调用它。0.前置通知前面的大部分示例都使用了before()前置通知,它在触发它的连接点之前执行通知。关于它的用法这里不再赘述。这里只贴一个之前的切面例子:package Test10;public aspec...原创 2018-05-09 14:59:50 · 1087 阅读 · 0 评论 -
AspectJ——切入点语法(6)之cflow与cflowbelow
捕获基于控制流程的连接点cflow与cflowbelow提供了一种捕获一个pointcut控制流中所有连接点的功能。0.cflow的用法假如你想捕获在程序控制流程内遇到的所有连接点,这些连接点都在某一个特定的连接点之后,你可以考虑使用cflow。什么是程序控制流?程序控制流就是程序执行过程中的每一行代码,准确的说是每行代码编译后的字节码。一个方法的控制流包括方法中的每一行代码,...原创 2018-05-09 13:39:20 · 1981 阅读 · 0 评论 -
AspectJ——简介以及在IntelliJ IDEA下的配置
0.AspectJ简介在上篇文章【Spring——AOP(1)之Spring1中的配置】中,简要介绍了AOP(Aspect-Oriented Programming,面向切面编程)的概念,并介绍了AOP中的一些术语,最后通过使用Spring1中编写切面、配置切面的方式讲解了一个案例。本节我们介绍AspectJ框架,学习AspectJ框架是因为Spring2以后的AOP开发中引入了很多Aspec...原创 2018-05-01 15:40:08 · 23610 阅读 · 29 评论 -
Spring——AOP(1)之Spring1中的配置
AOP介绍AOP(Aspect-Oriented Programming),即面向切面编程,作为面向对象(OOP,Object-Oriented Programming)的一种补充,广泛应用于处理一些具有横切性质的系统级服务,比如安全性检查、日志记录、事务管理等。在OOP中,我们以类(class)作为基本单元,而AOP中的基本单元是Aspect(切面)。定义AOP术语1.切面...原创 2018-04-15 14:44:51 · 1080 阅读 · 0 评论 -
Struts1.3——文件上传和下载
本文介绍了Struts实现文件上传和下载的方法原创 2016-07-28 18:16:54 · 3940 阅读 · 4 评论 -
Struts1.3——Struts入门
本文介绍了struts的入门知识,通过手工配置实现一个struts项目介绍了struts的工作原理和流程原创 2016-06-21 20:48:50 · 11306 阅读 · 8 评论 -
Servlet——开篇
本文介绍了J2EE的技术路线,介绍了动态网页的发展历程,介绍了常见c/s架构与b/s的区别,也简单介绍了web服务器原创 2014-05-12 18:09:43 · 1624 阅读 · 0 评论 -
Servlet——Tomcat服务器
本文主要介绍了Tomcat服务器,介绍了Tomcat无法正常启动的原因,介绍了Tomcat的目录结构和体系结构,并介绍了如何在Tomcat下配置自己的网站原创 2014-05-13 23:32:17 · 1802 阅读 · 0 评论 -
Servlet——初识Servlet
本文初步介绍了Servlet,介绍了Servlet的开发方法以及部署方法原创 2014-05-14 21:58:33 · 1465 阅读 · 0 评论 -
Servlet——生命周期和工作原理
本文主要介绍了Servlet的生命周期和工作原理。原创 2014-05-17 11:05:53 · 1843 阅读 · 2 评论 -
Servlet——通过GenericServlet和HttpServlet开发Servlet
本文介绍了通过GenericServlet开发Servlet的方式,也介绍了主流的通过继承HttpServlet开发Servlet的方法,最后也总结了post提交和get提交的区别原创 2014-05-17 16:28:17 · 2108 阅读 · 0 评论 -
Servlet——使用myEclipse开发Servlet
本文介绍了通过IDE-MyEclipse开发Servlet的方法,介绍了如何在MyEclipse中创建应用、配置Tomcat服务器以及发布应用。原创 2014-05-17 18:57:38 · 4188 阅读 · 0 评论 -
Servlet——开发细节+ServletConfig对象
本文介绍了Servlet部署的一些细节,重点介绍了<load-on-startup>自动创建Servlet的实例对象和通配符匹配的规则。另外也介绍了ServletConfig对象原创 2014-05-17 23:02:23 · 3170 阅读 · 0 评论 -
Servlet——简单用户登录实例+http协议解析
本文写了一个简单的用户登录,并且介绍了http协议,主要介绍了http消息头和响应头。最后介绍了几个使用http响应头的例子。原创 2016-04-22 13:54:18 · 9915 阅读 · 0 评论 -
Servlet——使用http响应头Content-Disposition下载文件的示例
本文介绍了使用http响应头Content-Disposition下载文件的示例。原创 2016-04-22 14:14:18 · 18004 阅读 · 0 评论 -
Servlet——HttpServletResponse的常见应用
本文介绍了HttpServletResponse的常见应用,向客户端传输内容,以及实现请求重定向并向下个页面传输数据的几种方法原创 2016-04-25 22:33:32 · 2822 阅读 · 0 评论 -
Servlet——HttpServletRequest对象详解
本文介绍了HttpServletRequest的常见方法、常见应用,最后重点介绍了请求转发forward,以及它和请求重定向sendRedirect的区别原创 2016-04-27 17:03:44 · 17729 阅读 · 1 评论