摘要:
Spring的WEB模块是构建在application context 模块基础之上,提供一个适合web应用的上下文。这个模块也包括支持多种面向web的任务,如透明地处理多个文件上传请求和程序级请求参数的绑定到你的业 务对象。它也有对Jakarta Struts的支持。 阅读全文
posted @ 2020-11-30 17:06
咔啡
阅读(149)
评论(0)
推荐(0)
摘要:
当定义一个<bean> 在Spring里,我们还能给这个bean声明一个作用域。它可以通过bean 定义中的scope属性来定义。如,当Spring要在需要的时候每次生产一个新的bean实例,bean的scope属性被指定为prototype。 另一方面,一个bean每次使用的时候必须返回同一个实例 阅读全文
posted @ 2020-11-30 17:05
咔啡
阅读(124)
评论(0)
推荐(0)
摘要:
AOP核心就是切面,它将多个类的通用行为封装成可重用的模块,该模块含有一组API提供横切功能。比如,一个日志模块可以被称作日志的AOP切面。根据需求的不同,一个应用程序可以有若干切面。在Spring AOP中,切面通过带有@Aspect注解的类实现。 阅读全文
posted @ 2020-11-30 17:02
咔啡
阅读(90)
评论(0)
推荐(0)
摘要:
当一个bean仅被用作另一个bean的属性时,它能被声明为一个内部bean,为了定义inner bean,在Spring 的 基于XML的 配置元数据中,可以在 <property/>或 <constructor-arg/> 元素内使用<bean/> 元素,内部bean通常是匿名的,它们的Scope 阅读全文
posted @ 2020-11-30 16:54
咔啡
阅读(478)
评论(0)
推荐(0)
摘要:
Volatile 变量可以确保先行关系,即写操作会发生在后续的读操作之前, 但它并不 能保证原子性。例如用 volatile 修饰 count 变量那么 count++ 操作就不是原子 性的。 而 AtomicInteger 类提供的 atomic 方法可以让这种操作具有原子性如 getAndInc 阅读全文
posted @ 2020-11-30 16:52
咔啡
阅读(163)
评论(0)
推荐(0)
摘要:
在这种情况下(基于@AspectJ的实现),涉及到的切面声明的风格与带有java5标注的普通java类一致。 阅读全文
posted @ 2020-11-30 16:51
咔啡
阅读(74)
评论(0)
推荐(0)
摘要:
该注解表明该类扮演控制器的角色,Spring不需要你继承任何其他控制器基类或引用Servlet API。 阅读全文
posted @ 2020-11-30 16:49
咔啡
阅读(111)
评论(0)
推荐(0)
摘要:
以下是Spring 框架的基本模块: Core module Bean module Context module Expression Language module JDBC module ORM module OXM module Java Messaging Service(JMS) mod 阅读全文
posted @ 2020-11-30 16:48
咔啡
阅读(232)
评论(0)
推荐(0)
摘要:
AOP模块用于发给我们的Spring应用做面向切面的开发, 很多支持由AOP联盟提供,这样就确保了Spring和其他AOP框架的共通性。这个模块将元数据编程引入Spring。 阅读全文
posted @ 2020-11-30 16:45
咔啡
阅读(134)
评论(0)
推荐(0)
摘要:
依赖注入,是IOC的一个方面,是个通常的概念,它有多种解释。这概念是说你不用创建对象,而只需要描述它如何被创建。你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把他们组装起来。 阅读全文
posted @ 2020-11-30 16:43
咔啡
阅读(237)
评论(0)
推荐(0)
摘要:
自动装配的局限性是: 重写: 你仍需用 和 配置来定义依赖,意味着总要重写自动装配。 基本数据类型:你不能自动装配简单的属性,如基本数据类型,String字符串,和类。 模糊特性:自动装配不如显式装配精确,如果有可能,建议使用显式装配。 阅读全文
posted @ 2020-11-30 16:42
咔啡
阅读(332)
评论(0)
推荐(0)
摘要:
使用SpringJDBC 框架,资源管理和错误处理的代价都会被减轻。所以开发者只需写statements 和 queries从数据存取数据,JDBC也可以在Spring框架提供的模板类的帮助下更有效地被使用,这个模板叫JdbcTemplate (例子见这里here) 阅读全文
posted @ 2020-11-30 16:40
咔啡
阅读(321)
评论(0)
推荐(0)
摘要:
@Autowired 注解提供了更细粒度的控制,包括在何处以及如何完成自动装配。它的用法和@Required一样,修饰setter方法、构造器、属性或者具有任意名称和/或多个参数的PN方法。 阅读全文
posted @ 2020-11-30 16:36
咔啡
阅读(77)
评论(0)
推荐(0)
摘要:
这个注解表明bean的属性必须在配置的时候设置,通过一个bean定义的显式的属性值或通过自动装配,若@Required注解的bean属性未被设置,容器将抛出BeanInitializationException。 阅读全文
posted @ 2020-11-30 16:35
咔啡
阅读(107)
评论(0)
推荐(0)
摘要:
面向切面的编程,或AOP, 是一种编程技术,允许程序模块化横向切割关注点,或横切典型的责任划分,如日志和事务管理。 阅读全文
posted @ 2020-11-30 16:32
咔啡
阅读(84)
评论(0)
推荐(0)
摘要:
切入点是一个或一组连接点,通知将在这些位置执行。可以通过表达式或匹配的方式指明切入点。 阅读全文
posted @ 2020-11-30 16:30
咔啡
阅读(73)
评论(0)
推荐(0)
摘要:
通知是个在方法执行前或执行后要做的动作,实际上是程序执行时要通过SpringAOP框架触发的代码段。 Spring切面可以应用五种类型的通知: before:前置通知,在一个方法执行前被调用。 after:在方法执行之后调用的通知,无论方法执行是否成功。 after-returning:仅当方法成功 阅读全文
posted @ 2020-11-30 16:24
咔啡
阅读(67)
评论(0)
推荐(0)
摘要:
BeanNameAutoProxyCreator DefaultAdvisorAutoProxyCreator Metadata autoproxying 阅读全文
posted @ 2020-11-30 16:22
咔啡
阅读(116)
评论(0)
推荐(0)
摘要:
代理是通知目标对象后创建的对象。从客户端的角度看,代理对象和目标对象是一样的。 阅读全文
posted @ 2020-11-30 16:18
咔啡
阅读(286)
评论(0)
推荐(0)
摘要:
被一个或者多个切面所通知的对象。它通常是一个代理对象。也指被通知(advised)对象。 阅读全文
posted @ 2020-11-30 16:15
咔啡
阅读(173)
评论(0)
推荐(0)
摘要:
在这种情况下(基于@AspectJ的实现),涉及到的切面声明的风格与带有java5标注的普通java类一致。 阅读全文
posted @ 2020-11-30 16:13
咔啡
阅读(60)
评论(0)
推荐(0)
摘要:
该注解是用来映射一个URL到一个类或一个特定的方处理法上。 阅读全文
posted @ 2020-11-30 16:09
咔啡
阅读(98)
评论(0)
推荐(0)
摘要:
该注解表明该类扮演控制器的角色,Spring不需要你继承任何其他控制器基类或引用Servlet API。 阅读全文
posted @ 2020-11-30 16:06
咔啡
阅读(116)
评论(0)
推荐(0)
摘要:
实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接口。构造函数:抽象类可以有构造函数;接口不能有。实现数量:类可以实现很多个接口;但只能继承一个抽象类【java只支持单继承】。访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的抽象方法可以使用P 阅读全文
posted @ 2020-11-30 16:01
咔啡
阅读(105)
评论(0)
推荐(0)
摘要:
BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。NIO:New IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。AIO:Asynchronous IO 是 NIO 的 阅读全文
posted @ 2020-11-30 15:57
咔啡
阅读(190)
评论(0)
推荐(0)
摘要:
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。 阅读全文
posted @ 2020-11-30 15:56
咔啡
阅读(168)
评论(0)
推荐(0)
摘要:
java中的保留字,现在没有在java中使用。 阅读全文
posted @ 2020-11-30 15:55
咔啡
阅读(60)
评论(0)
推荐(0)
摘要:
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合swit 阅读全文
posted @ 2020-11-30 15:54
咔啡
阅读(137)
评论(0)
推荐(0)
摘要:
内部类就是在一个类的内部定义的类,内部类中不能定义静态成员,内部类可以直接访问外部类中的成员变量,内部类可以定义在外部类的方法外面,也可以定义在外部类的方法体中。在方法外部定义的内部类前面可以加上static关键字,从而成为Static Nested Class,它不再具有内部类的特性,所有,从狭义 阅读全文
posted @ 2020-11-30 15:53
咔啡
阅读(355)
评论(0)
推荐(0)
摘要:
完全可以。如果不是静态内部类,那没有什么限制!如果你把静态嵌套类当作内部类的一种特例,那在这种情况下不可以访问外部类的普通成员变量,而只能访问外部类中的静态成员 阅读全文
posted @ 2020-11-30 15:52
咔啡
阅读(143)
评论(0)
推荐(0)
摘要:
所谓系统异常,就是…..,它们都是RuntimeException的子类,在jdk doc中查RuntimeException类,就可以看到其所有的子类列表,也就是看到了所有的系统异常。我比较有印象的系统异常有:NullPointerException、ArrayIndexOutOfBoundsEx 阅读全文
posted @ 2020-11-30 15:51
咔啡
阅读(407)
评论(0)
推荐(0)
摘要:
数组没有length()这个方法,有length的属性。String有有length()这个方法。 阅读全文
posted @ 2020-11-30 15:50
咔啡
阅读(273)
评论(0)
推荐(0)
摘要:
结论:finally中的代码比return和break语句后执行 阅读全文
posted @ 2020-11-30 14:40
咔啡
阅读(102)
评论(0)
推荐(0)
摘要:
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。 阅读全文
posted @ 2020-11-30 14:26
咔啡
阅读(126)
评论(0)
推荐(0)
摘要:
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口同步的实现方面有两种,分别是synchronized,wait与notifywait():使一个线程处于等待状态,并且释放所持有的对象的lock。sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉 阅读全文
posted @ 2020-11-30 14:21
咔啡
阅读(409)
评论(1)
推荐(0)
摘要:
如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效 阅读全文
posted @ 2020-11-30 14:20
咔啡
阅读(107)
评论(0)
推荐(0)
摘要:
comparable/comparator 阅读全文
posted @ 2020-11-30 14:18
咔啡
阅读(157)
评论(0)
推荐(0)
摘要:
随意发挥题,天南海北谁便谈,只要让别觉得你知识渊博,理解透彻即可。 阅读全文
posted @ 2020-11-30 14:15
咔啡
阅读(76)
评论(0)
推荐(0)
摘要:
这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,,并且其中的数据是允许重复的,这是HashSet之类的集合的最大不同处,HashSet之类的集合不可 阅读全文
posted @ 2020-11-30 14:14
咔啡
阅读(344)
评论(0)
推荐(0)
摘要:
字节流,字符流。字节流继承于InputStream OutputStream,字符流继承于InputStreamReaderOutputStreamWriter。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。 阅读全文
posted @ 2020-11-30 14:11
咔啡
阅读(86)
评论(0)
推荐(0)
摘要:
java的内存分为两类,一类是栈内存,一类是堆内存。栈内存是指程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会释放,这个栈中的变量也将随之释放。堆是与栈作用不同的内存,一般用于存放不放在当前方法栈中的那些数据,例如,使用 阅读全文
posted @ 2020-11-30 14:10
咔啡
阅读(171)
评论(0)
推荐(0)
摘要:
所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中。java中有垃圾回收机制,它可以保证一对象不再被引用的时候,即对象编程了孤儿的时候,对象将自动被垃圾回收器从内存中清除掉。由于Java使用有向图的方式进行垃圾回收管理,可以消除引用循环的问题,例如有两个对象,相互引用,只要它们和根进 阅读全文
posted @ 2020-11-30 14:06
咔啡
阅读(147)
评论(0)
推荐(0)
摘要:
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行Sy 阅读全文
posted @ 2020-11-30 14:03
咔啡
阅读(101)
评论(0)
推荐(0)
摘要:
是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的 阅读全文
posted @ 2020-11-30 14:01
咔啡
阅读(191)
评论(0)
推荐(0)
摘要:
(1)转发:在返回值前面加"forward:",譬如"forward:user.do?name=method4" (2)重定向:在返回值前面加"redirect:",譬如"redirect:http://www.baidu.com" 阅读全文
posted @ 2020-11-30 13:58
咔啡
阅读(611)
评论(0)
推荐(0)
摘要:
可以将异常抛给Spring框架,由Spring框架来处理;我们只需要配置简单的异常处理器,在异常处理器中添视图页面即可。 阅读全文
posted @ 2020-11-30 13:56
咔啡
阅读(92)
评论(0)
推荐(0)
摘要:
直接在方法中声明这个对象,SpringMvc就自动会把属性赋值到这个对象里面。 阅读全文
posted @ 2020-11-30 13:54
咔啡
阅读(911)
评论(0)
推荐(0)
摘要:
Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。 主要由以下几个模块组成: Spring Core:核心类库, 阅读全文
posted @ 2020-11-30 13:53
咔啡
阅读(777)
评论(0)
推荐(0)
摘要:
通过ModelMap对象,可以在这个对象里面调用put方法,把对象加到里面,前台就可以通过el表达式拿到。 阅读全文
posted @ 2020-11-30 13:50
咔啡
阅读(1073)
评论(0)
推荐(0)
摘要:
返回值可以有很多类型,有String, ModelAndView。ModelAndView类把视图和数据都合并的一起的,但一般用String比较好。 阅读全文
posted @ 2020-11-30 13:49
咔啡
阅读(1127)
评论(0)
推荐(0)
摘要:
BeanFactory和ApplicationContext是Spring的两大核心接口,都可以当做Spring的容器。其中ApplicationContext是BeanFactory的子接口。 (1)BeanFactory:是Spring里面最底层的接口,包含了各种Bean的定义,读取bean配置 阅读全文
posted @ 2020-11-30 13:48
咔啡
阅读(1114)
评论(0)
推荐(0)
摘要:
(1)spring属于低侵入式设计,代码的污染极低; (2)spring的DI机制将对象之间的依赖关系交由框架处理,减低组件的耦合性; (3)Spring提供了AOP技术,支持将一些通用任务,如安全、事务、日志、权限等进行集中式管理,从而提供更好的复用。 (4)spring对于主流的应用框架提供了集 阅读全文
posted @ 2020-11-30 13:42
咔啡
阅读(237)
评论(0)
推荐(0)
摘要:
(1)切面(Aspect):被抽取的公共模块,可能会横切多个对象。在Spring AOP中,切面可以使用通用类(基于模式的风格)或者在普通类中以@AspectJ注解来实现。 (2)连接点(Join point):指方法,在Spring AOP中,一个连接点总是代表一个方法的执行。 (3)通知(Adv 阅读全文
posted @ 2020-11-30 13:41
咔啡
阅读(697)
评论(0)
推荐(0)
摘要:
(1)工厂模式:BeanFactory就是简单工厂模式的体现,用来创建对象的实例; (2)单例模式:Bean默认为单例模式。 (3)代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术; (4)模板方法:用来解决代码重复的问题。比如.RestTemplate,JmsTe 阅读全文
posted @ 2020-11-30 13:39
咔啡
阅读(409)
评论(0)
推荐(0)
摘要:
(1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。 (2)MyBatis 可以使用XML 或注解来 阅读全文
posted @ 2020-11-30 13:38
咔啡
阅读(165)
评论(0)
推荐(0)
摘要:
Dao接口即Mapper接口。接口的全限名,就是映射文件中的namespace的值;接口的方法名,就是映射文件中Mapper的Statement的id值;接口方法内的参数,就是传递给sql的参数。 Mapper接口里的方法,是不能重载的,因为是使用 全限名+方法名 的保存和寻找策略。Mapper接口 阅读全文
posted @ 2020-11-30 13:37
咔啡
阅读(608)
评论(0)
推荐(0)
摘要:
第1种:在Java代码中添加sql通配符。 string wildcardname = “%smi%”; list<name> names = mapper.selectlike(wildcardname); <select id=”selectlike”> select * from foo wh 阅读全文
posted @ 2020-11-30 13:36
咔啡
阅读(413)
评论(0)
推荐(0)
摘要:
快速失败的Java迭代器可能会引发ConcurrentModifcationException在底层集合迭代过程中被修改。故障安全作为发生在实例中的一个副本迭代是不会抛出任何异常的。快速失败的故障安全范例定义了当遭遇故障时系统是如何反应的。例如,用于失败的快速迭代器ArrayList和用于故障安全的 阅读全文
posted @ 2020-11-30 13:30
咔啡
阅读(163)
评论(0)
推荐(0)
摘要:
CopyOnWriteArrayList是ArrayList的一个线程安全的变体,其中所有可变操作(add、set等等)都是通过对底层数组进行一次新的复制来实现的。相比较于ArrayList它的写操作要慢一些,因为它需要实例的快照。 CopyOnWriteArrayList中写操作需要大面积复制数组 阅读全文
posted @ 2020-11-30 13:17
咔啡
阅读(1375)
评论(0)
推荐(0)
摘要:
面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类 阅读全文
posted @ 2020-11-30 12:31
咔啡
阅读(171)
评论(0)
推荐(0)
摘要:
不是。 Java中基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type),剩下都是引用类型(reference type),Java5以后引入的枚举类型也算是一种比较特殊的引用类型。 阅读全文
posted @ 2020-11-30 12:25
咔啡
阅读(162)
评论(0)
推荐(0)
摘要:
goto 是Java中的保留字,在目前版本的Java中没有使用。(根据James Gosling(Java之父)编写的《The Java Programming Language》一书的附录中给出了一个Java关键字列表,其中有goto和const,但是这两个是目前无法使用的关键字,因此有些地方将其 阅读全文
posted @ 2020-11-30 12:14
咔啡
阅读(212)
评论(0)
推荐(0)
摘要:
对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型。而short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;相当于s1 = (short)(s1 + 1);其中有隐含的强制类型转 阅读全文
posted @ 2020-11-30 12:09
咔啡
阅读(108)
评论(0)
推荐(0)
摘要:
2 << 3(左移3位相当于乘以2的3次方,右移3位相当于除以2的3次方)。 补充:我们为编写的类重写hashCode方法时,可能会看到如下所示的代码,其实我们不太理解为什么要使用这样的乘法运算来产生哈希码(散列码),而且为什么这个数是个素数,为什么通常选择31这个数?前两个问题的答案你可以自己百度 阅读全文
posted @ 2020-11-30 12:07
咔啡
阅读(251)
评论(0)
推荐(0)
摘要:
构造器不能被继承,因此不能被重写,但可以被重载。 阅读全文
posted @ 2020-11-30 11:52
咔啡
阅读(366)
评论(0)
推荐(0)
摘要:
不对,如果两个对象x和y满足x.equals(y) == true,它们的哈希码(hash code)应当相同。Java对于eqauls方法和hashCode方法是这样规定的:(1)如果两个对象相同(equals方法返回true),那么它们的hashCode值一定要相同;(2)如果两个对象的hash 阅读全文
posted @ 2020-11-30 11:50
咔啡
阅读(214)
评论(0)
推荐(0)
摘要:
String 类是final类,不可以被继承。 补充:继承String本身就是一个错误的行为,对String类型最好的重用方式是关联关系(Has-A)和依赖关系(Use-A)而不是继承关系(Is-A)。 阅读全文
posted @ 2020-11-30 11:44
咔啡
阅读(244)
评论(0)
推荐(0)

浙公网安备 33010602011771号