自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

We get old too soon and wise too late

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

  • 博客(26)
  • 资源 (68)
  • 收藏
  • 关注

原创 事务的概念、类型和四个特征.

事务的概念、类型和四个特征(ACID).1.事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。2.事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。 COMMIT表示提交,即提交事务的

2017-01-24 10:52:57 6031

原创 Hibernate-Usage(basis)(hibernate基本用法)

hibernate基本用法part_0:下载源码(http://download.csdn.net/detail/love_legain/9744626)part_1:导入基础所需包(这些包都是必须的,其中log4j用户记录日志)antlr-2.7.7.jarcdi-api-1.1.jarclassmate-1.3.0.jardom4j-1.6.1.jarel-api-2.2.jarger

2017-01-23 16:43:12 818

原创 数据库驱动配置模板(hibernate.properties.template)

hibernate.properties.templatehibernate.properties1.日常学习中常用的是MySQL:hibernate.connection.driver_class com.mysql.jdbc.Driverhibernate.connection.url jdbc:mysql:///testhibernate.connection.username usern

2017-01-23 14:44:54 854

原创 删除字幕文件中的中文[(匹配中文的正则表达式/获取文件的编码格式)]

删除字幕文件中的中文匹配中文的正则表达式获取文件的编码格式

2017-01-19 16:20:49 1730 1

原创 //这个文档用来记录我的编程常见的失误:

编程失误

2017-01-18 16:28:31 358

原创 英语学习笔记20170118更新

英语学习笔记

2017-01-18 16:19:43 596

原创 Linux grep指令的使用

Linux grep指令的使用grep : Globally search a Regular Expression and Print(使用正则表达式进行全局搜索并将查找到的结果显示出来.)功能说明:查找文件里符合条件的字符串。语  法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][

2017-01-13 10:36:47 429

原创 计算机知识学习,网站推荐.

计算机书籍控

2017-01-11 17:19:07 1354

原创 vmware虚拟机Linux(redhat)上用户密码忘记了怎么办?

虚拟机Linux上用户密码忘记了怎么办?今天准备再学习一下linux操作系统,由于之前已经安装过vaware和linux(redhat),所以这次认为不用安装直接使用就可以了。但,恼人的是密码给忘了,一般用户名都是root这个我知道,但是关键密码忘了怎么办呢,下面就来介绍如何重置redhat的登录密码: (声明:期间如果有操作上的错误,请重新启动虚拟机,重做一遍;想一遍就完成,毕竟不大可能;)st

2017-01-11 11:42:40 50798 17

原创 oracle数据库中函数和存储过程的区别

oracle数据库中函数和存储过程的区别

2017-01-11 10:17:39 1150

原创 oracle数据库对象---同义词(synonym)

oracle数据库对象—同义词简析同义词是现有对象的一个别名,分为私有同义词和公用同义词,如一个表的表名过长或访问其他用户的表需要加上用户名作为前缀,可以用别名来解决。 part_1:查看scott用户是否具有创建同义词的权限--scott用户输入如下语句,查询自己的权限select * from session_privs where privilege like '%SYNONYM%';

2017-01-10 18:02:44 2744

原创 oracle数据库对象---索引

oracle数据库对象—索引简析

2017-01-10 17:29:56 406

原创 Java面试题大全(part_4)

Java面试题大全(part_4)1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto? java中的保留字,现在没有在java中使用。3、说说&和&&的区别。 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为tru

2017-01-10 15:13:13 1106

原创 Java面试题大全(part_3)

Java面试题大全(part_3)

2017-01-10 15:05:28 777

原创 Java面试题大全(part_2)

Java面试题大全(part_2)1、解释实现多线程的几种方法?一Java线程可以实现Runnable接口或者继承Thread类来实现,当你打算多重继承时,优先选择实现Runnable。2、Thread.start()与Thread.run()有什么区别?Thread.start()方法(native)启动线程,使之进入就绪状态,当cpu分配时间该线程时,由JVM调度执行run()方法。3、为什么需

2017-01-10 15:03:53 379

原创 JAVA面试题大全(part_1)

java面试题

2017-01-10 14:59:18 1109

原创 windows操作系统下载推荐:songyongzhi

Windows 操作系统下载推荐推荐下载songyongzhi封装的windows操作系统; 主渠道:http://songyongzhi.blog.163.com/ 备用渠道:http://www.songyongzhi.com/

2017-01-10 14:36:13 2554

原创 oracle数据库对象第一部分(表,视图,索引,函数,序列,存储过程)

oracle数据库对象第一部分(表,视图,索引,函数,序列,存储过程)简析part_1:多表关联查询演示;--求每个部门的平均工资和员工人数select d.dname "部门", round(avg(e.sal + nvl(e.comm, 0)), 2) "平均工资", count(*) "人数" from emp e, dept d where e.deptn

2017-01-10 12:30:33 1509

原创 oracle下scott用户的四张表(emp,dept,bonus,salgrade)的建表语句:

scott用户的四张表(emp,dept,bonus,salgrade)的建表语句emp-- Create tablecreate table EMP( empno NUMBER(4) not null, ename VARCHAR2(10), job VARCHAR2(9), mgr NUMBER(4), hiredate DATE,

2017-01-10 09:48:45 8118

原创 ORACLE新增,授权,修改,删除用户

ORACLE新增,授权,修改,删除用户select username from dba_users;–查看数据库中所有用户的名称;create user mike identified by 3713;–新建用户alter user mike identified by 3714;–改密用户drop user mike;–删除用户drop user mike cascade;–同时删除与mike相关

2017-01-09 18:05:10 8270

原创 ORACLE表数据的复制与回粘

ORACLE表数据的复制与回粘表数据的复制 CREATE TABLE CPU_COPY AS SELECT * FROM CPU;表数据的回粘 INSERT INTO CPU(CPUNO,COMPUTERNO,BUYTIME,CPUMODEL,PRICE) SELECT * FROM CPU_COPY;表结构

2017-01-09 16:53:19 625

原创 ORACLE约束:主键,外键,非空,唯一,条件

ORACLE约束:主键,外键,非空,唯一,条件create table COMPUTERS( CNO NUMBER(3) CONSTRAINT PK_COMPUTERS PRIMARY KEY, CUSER VARCHAR(4) );INSERT INTO COMPUTERS(CNO,CUSER) VALUES(1,'MIKE');create table CPU(

2017-01-09 16:22:58 1312

原创 我在棠棣

我在棠棣mail : https://entry.qiye.163.com/domain/domainEntLoginworkhours : http://139.196.5.107:8080/tdpmis/auth/loginView.do?tp=01OA : http://oa.tangdi.com.cn/#/home

2017-01-09 11:29:09 628

原创 ORACLE常用的函数总结:

ORACLE常用函数001).C:\Users\lenovo>sqlplus system/3713@orcl--连接到:xxx002).conn sys/3713 as sysdba;--已连接。003).create user c##scott_1 identified by tiger_1;--用户已创建。004).drop user c##scott_1 cascade;--用户已删除(ca

2017-01-09 11:10:21 677

原创 MBG(MyBatis Generator):MyBatis自动代码生成;

MyBatis Generator part_1:generator-config.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://my

2017-01-03 14:40:36 471

原创 log4j.properties一般配置

**log4j.properties一般配置**log4j.rootLogger=debug, stdout, Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.errlog4j.appender.stdout.layout=org.apache.log4j.Pa

2017-01-03 14:32:54 472

UE(ultraedit)本地帮助文档.chm

UE(ultraedit)本地帮助文档.chm

2017-04-23

Linux学习PDF文档下载.rar

Linux学习PDF文档下载.rar

2017-04-19

linux学习chm文档下载.rar

linux学习chm文档下载.rar

2017-04-19

mybatis-3.2.7.pdf

mybatis-3.2.7.pdf

2017-04-16

mybatis-generator-demo.zip

mybatis-generator-demo.zip 自动代码生成 ; ;

2017-04-14

DB2错误码集+源码

博客原文对应的资料; 原文地址:http://blog.csdn.net/Love_Legain/article/details/68483021 主要内容:DB2 SQLCODE 大全/DB2错误信息码对应的解释

2017-03-30

DB2 SQLCODE 大全.pdf

DB2 SQLCODE 大全/DB2错误信息码对应的解释

2017-03-30

HelloWorldStruts2.rar

博客对应的源码文件: 原文博客:http://blog.csdn.net/love_legain/article/details/64919909

2017-03-22

struts_2_tutorial.pdf

struts_2_tutorial; 入门教程(全英文版);

2017-03-22

JavaMail API 1.5

JavaMailTM API Design Specification Version 1.5 Oracle America, Inc. 500 Oracle Parkway Redwood City, California 94065, U.S.A.

2017-03-16

阿里巴巴java开发手册(最新版pdf)

阿里巴巴java开发手册(最新版pdf),文字版,可编辑;960k大小;

2017-02-11

Hibernate基础知识演示代码

Hibernate基础知识演示代码

2017-01-25

eclipse的jad反编译插件(jad-decompiler-pl内含教程ugin)

eclipse的jad反编译插件(内含详细教程) 1:下面的操作可能因为版本的问题导致不一致:据说可以支持MyEclipse10.X,9.X,8.X,6.X(我测试过10.7) 2:在文件夹{MYECLIPSE_HOME}(MyEclipse安装目录)\MyEclipse 10\dropins下建立一个文件夹jad,可能myeclipse的版本不一样,路径会有所区别。 在新建的jad文件夹中新建两个文件夹:plugins;features;然后将下载来的jar放入到plugins文件夹中 3:在主程序解压出来得到jad.exe文件,为了方便将他放到jdk的bin目录下,如果放到别的地方需要进行在环境变量里设置路径。 4:启动myelipse,Window->Preferences->Java->JadClipse,进行设置,Path to decomplier项填写你的jad.exe路径,下面那个默认就可以. path to decompile:如C:\Program Files\Java\jdk1.6.0_02\bin\jad.exe(此处不仅仅是路径还包括执行文件) 5:Window->Preferences->General->Editors->File Associations,将.class文件默认成通过JadClipse Class File Viewer打开

2017-01-23

HibernateDemo(hibernate基本用法演示)

hibernate基本用法演示---源码; 配套博客教程:参见我的文章---Hibernate-Usage(basis)(hibernate基本用法)

2017-01-23

hibernate.properties

hibernate.properties # # Hibernate, Relational Persistence for Idiomatic Java # # License: GNU Lesser General Public License (LGPL), version 2.1 or later. # See the lgpl.txt file in the root directory or . # ###################### ### Query Language ### ###################### ## define query language constants / function names hibernate.query.substitutions yes 'Y', no 'N' ## select the classic query parser #hibernate.query.factory_class org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory ################# ### Platforms ### ################# ## JNDI Datasource #hibernate.connection.datasource jdbc/test #hibernate.connection.username db2 #hibernate.connection.password db2 ## HypersonicSQL hibernate.dialect org.hibernate.dialect.HSQLDialect hibernate.connection.driver_class org.hsqldb.jdbcDriver hibernate.connection.username sa hibernate.connection.password hibernate.connection.url jdbc:hsqldb:./build/db/hsqldb/hibernate #hibernate.connection.url jdbc:hsqldb:hsql://localhost #hibernate.connection.url jdbc:hsqldb:test ## H2 (www.h2database.com) #hibernate.dialect org.hibernate.dialect.H2Dialect #hibernate.connection.driver_class org.h2.Driver #hibernate.connection.username sa #hibernate.connection.password #hibernate.connection.url jdbc:h2:mem:./build/db/h2/hibernate #hibernate.connection.url jdbc:h2:testdb/h2test #hibernate.connection.url jdbc:h2:mem:imdb1 #hibernate.connection.url jdbc:h2:tcp://dbserv:8084/sample; #hibernate.connection.url jdbc:h2:ssl://secureserv:8085/sample; #hibernate.connection.url jdbc:h2:ssl://secureserv/testdb;cipher=AES ## MySQL #hibernate.dialect org.hibernate.dialect.MySQLDialect #hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect #hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect #hibernate.connection.driver_class com.mysql.jdbc.Driver #hibernate.connection.url jdbc:mysql:///test #hibernate.connection.username gavin #hibernate.connection.password ## Oracle #hibernate.dialect org.hibernate.dialect.Oracle8iDialect #hibernate.dialect org.hibernate.dialect.Oracle9iDialect #hibernate.dialect org.hibernate.dialect.Oracle10gDialect #hibernate.connection.driver_class oracle.jdbc.driver.OracleDriver #hibernate.connection.username ora #hibernate.connection.password ora #hibernate.connection.url jdbc:oracle:thin:@localhost:1521:orcl #hibernate.connection.url jdbc:oracle:thin:@localhost:1522:XE ## PostgreSQL #hibernate.dialect org.hibernate.dialect.PostgreSQLDialect #hibernate.connection.driver_class org.postgresql.Driver #hibernate.connection.url jdbc:postgresql:template1 #hibernate.connection.username pg #hibernate.connection.password ## DB2 #hibernate.dialect org.hibernate.dialect.DB2Dialect #hibernate.connection.driver_class com.ibm.db2.jcc.DB2Driver #hibernate.connection.driver_class COM.ibm.db2.jdbc.app.DB2Driver #hibernate.connection.url jdbc:db2://localhost:50000/somename #hibernate.connection.url jdbc:db2:somename #hibernate.connection.username db2 #hibernate.connection.password db2 ## TimesTen #hibernate.dialect org.hibernate.dialect.TimesTenDialect #hibernate.connection.driver_class com.timesten.jdbc.TimesTenDriver #hibernate.connection.url jdbc:timesten:direct:test #hibernate.connection.username #hibernate.connection.password ## DB2/400 #hibernate.dialect org.hibernate.dialect.DB2400Dialect #hibernate.connection.username user #hibernate.connection.password password ## Native driver #hibernate.connection.driver_class COM.ibm.db2.jdbc.app.DB2Driver #hibernate.connection.url jdbc:db2://systemname ## Toolbox driver #hibernate.connection.driver_class com.ibm.as400.access.AS400JDBCDriver #hibernate.connection.url jdbc:as400://systemname ## Derby (not supported!) #hibernate.dialect org.hibernate.dialect.DerbyDialect #hibernate.connection.driver_class org.apache.derby.jdbc.EmbeddedDriver #hibernate.connection.username #hibernate.connection.password #hibernate.connection.url jdbc:derby:build/db/derby/hibernate;create=true ## Sybase #hibernate.dialect org.hibernate.dialect.SybaseDialect #hibernate.connection.driver_class com.sybase.jdbc2.jdbc.SybDriver #hibernate.connection.username sa #hibernate.connection.password sasasa #hibernate.connection.url jdbc:sybase:Tds:co3061835-a:5000/tempdb ## Mckoi SQL #hibernate.dialect org.hibernate.dialect.MckoiDialect #hibernate.connection.driver_class com.mckoi.JDBCDriver #hibernate.connection.url jdbc:mckoi:/// #hibernate.connection.url jdbc:mckoi:local://C:/mckoi1.0.3/db.conf #hibernate.connection.username admin #hibernate.connection.password nimda ## SAP DB #hibernate.dialect org.hibernate.dialect.SAPDBDialect #hibernate.connection.driver_class com.sap.dbtech.jdbc.DriverSapDB #hibernate.connection.url jdbc:sapdb://localhost/TST #hibernate.connection.username TEST #hibernate.connection.password TEST #hibernate.query.substitutions yes 'Y', no 'N' ## MS SQL Server #hibernate.dialect org.hibernate.dialect.SQLServerDialect #hibernate.connection.username sa #hibernate.connection.password sa ## JSQL Driver #hibernate.connection.driver_class com.jnetdirect.jsql.JSQLDriver #hibernate.connection.url jdbc:JSQLConnect://1E1/test ## JTURBO Driver #hibernate.connection.driver_class com.newatlanta.jturbo.driver.Driver #hibernate.connection.url jdbc:JTurbo://1E1:1433/test ## WebLogic Driver #hibernate.connection.driver_class weblogic.jdbc.mssqlserver4.Driver #hibernate.connection.url jdbc:weblogic:mssqlserver4:1E1:1433 ## Microsoft Driver (not recommended!) #hibernate.connection.driver_class com.microsoft.jdbc.sqlserver.SQLServerDriver #hibernate.connection.url jdbc:microsoft:sqlserver://1E1;DatabaseName=test;SelectMethod=cursor ## The New Microsoft Driver #hibernate.connection.driver_class com.microsoft.sqlserver.jdbc.SQLServerDriver #hibernate.connection.url jdbc:sqlserver://localhost ## jTDS (since version 0.9) #hibernate.connection.driver_class net.sourceforge.jtds.jdbc.Driver #hibernate.connection.url jdbc:jtds:sqlserver://1E1/test ## Interbase #hibernate.dialect org.hibernate.dialect.InterbaseDialect #hibernate.connection.username sysdba #hibernate.connection.password masterkey ## DO NOT specify hibernate.connection.sqlDialect ## InterClient #hibernate.connection.driver_class interbase.interclient.Driver #hibernate.connection.url jdbc:interbase://localhost:3060/C:/firebird/test.gdb ## Pure Java #hibernate.connection.driver_class org.firebirdsql.jdbc.FBDriver #hibernate.connection.url jdbc:firebirdsql:localhost/3050:/firebird/test.gdb ## Pointbase #hibernate.dialect org.hibernate.dialect.PointbaseDialect #hibernate.connection.driver_class com.pointbase.jdbc.jdbcUniversalDriver #hibernate.connection.url jdbc:pointbase:embedded:sample #hibernate.connection.username PBPUBLIC #hibernate.connection.password PBPUBLIC ## Ingres ## older versions (before Ingress 2006) #hibernate.dialect org.hibernate.dialect.IngresDialect #hibernate.connection.driver_class ca.edbc.jdbc.EdbcDriver #hibernate.connection.url jdbc:edbc://localhost:II7/database #hibernate.connection.username user #hibernate.connection.password password ## Ingres 2006 or later #hibernate.dialect org.hibernate.dialect.IngresDialect #hibernate.connection.driver_class com.ingres.jdbc.IngresDriver #hibernate.connection.url jdbc:ingres://localhost:II7/database;CURSOR=READONLY;auto=multi #hibernate.connection.username user #hibernate.connection.password password ## Mimer SQL #hibernate.dialect org.hibernate.dialect.MimerSQLDialect #hibernate.connection.driver_class com.mimer.jdbc.Driver #hibernate.connection.url jdbc:mimer:multi1 #hibernate.connection.username hibernate #hibernate.connection.password hibernate ## InterSystems Cache #hibernate.dialect org.hibernate.dialect.Cache71Dialect #hibernate.connection.driver_class com.intersys.jdbc.CacheDriver #hibernate.connection.username _SYSTEM #hibernate.connection.password SYS #hibernate.connection.url jdbc:Cache://127.0.0.1:1972/HIBERNATE ################################# ### Hibernate Connection Pool ### ################################# hibernate.connection.pool_size 1 ########################### ### C3P0 Connection Pool### ########################### #hibernate.c3p0.max_size 2 #hibernate.c3p0.min_size 2 #hibernate.c3p0.timeout 5000 #hibernate.c3p0.max_statements 100 #hibernate.c3p0.idle_test_period 3000 #hibernate.c3p0.acquire_increment 2 #hibernate.c3p0.validate false ############################## ### Proxool Connection Pool### ############################## ## Properties for external configuration of Proxool hibernate.proxool.pool_alias pool1 ## Only need one of the following #hibernate.proxool.existing_pool true #hibernate.proxool.xml proxool.xml #hibernate.proxool.properties proxool.properties ################################# ### Plugin ConnectionProvider ### ################################# ## use a custom ConnectionProvider (if not set, Hibernate will choose a built-in ConnectionProvider using hueristics) #hibernate.connection.provider_class org.hibernate.connection.DriverManagerConnectionProvider #hibernate.connection.provider_class org.hibernate.connection.DatasourceConnectionProvider #hibernate.connection.provider_class org.hibernate.connection.C3P0ConnectionProvider #hibernate.connection.provider_class org.hibernate.connection.ProxoolConnectionProvider ####################### ### Transaction API ### ####################### ## Enable automatic flush during the JTA beforeCompletion() callback ## (This setting is relevant with or without the Transaction API) #hibernate.transaction.flush_before_completion ## Enable automatic session close at the end of transaction ## (This setting is relevant with or without the Transaction API) #hibernate.transaction.auto_close_session ## the Transaction API abstracts application code from the underlying JTA or JDBC transactions #hibernate.transaction.factory_class org.hibernate.transaction.JTATransactionFactory #hibernate.transaction.factory_class org.hibernate.transaction.JDBCTransactionFactory ## to use JTATransactionFactory, Hibernate must be able to locate the UserTransaction in JNDI ## default is java:comp/UserTransaction ## you do NOT need this setting if you specify hibernate.transaction.manager_lookup_class #jta.UserTransaction jta/usertransaction #jta.UserTransaction javax.transaction.UserTransaction #jta.UserTransaction UserTransaction ## to use the second-level cache with JTA, Hibernate must be able to obtain the JTA TransactionManager #hibernate.transaction.manager_lookup_class org.hibernate.transaction.JBossTransactionManagerLookup #hibernate.transaction.manager_lookup_class org.hibernate.transaction.WeblogicTransactionManagerLookup #hibernate.transaction.manager_lookup_class org.hibernate.transaction.WebSphereTransactionManagerLookup #hibernate.transaction.manager_lookup_class org.hibernate.transaction.OrionTransactionManagerLookup #hibernate.transaction.manager_lookup_class org.hibernate.transaction.ResinTransactionManagerLookup ############################## ### Miscellaneous Settings ### ############################## ## print all generated SQL to the console #hibernate.show_sql true ## format SQL in log and console hibernate.format_sql true ## add comments to the generated SQL #hibernate.use_sql_comments true ## generate statistics #hibernate.generate_statistics true ## auto schema export #hibernate.hbm2ddl.auto create-drop #hibernate.hbm2ddl.auto create #hibernate.hbm2ddl.auto update #hibernate.hbm2ddl.auto validate ## specify a default schema and catalog for unqualified tablenames #hibernate.default_schema test #hibernate.default_catalog test ## enable ordering of SQL UPDATEs by primary key #hibernate.order_updates true ## set the maximum depth of the outer join fetch tree hibernate.max_fetch_depth 1 ## set the default batch size for batch fetching #hibernate.default_batch_fetch_size 8 ## rollback generated identifier values of deleted entities to default values #hibernate.use_identifier_rollback true ## enable bytecode reflection optimizer (disabled by default) #hibernate.bytecode.use_reflection_optimizer true ##################### ### JDBC Settings ### ##################### ## specify a JDBC isolation level #hibernate.connection.isolation 4 ## enable JDBC autocommit (not recommended!) #hibernate.connection.autocommit true ## set the JDBC fetch size #hibernate.jdbc.fetch_size 25 ## set the maximum JDBC 2 batch size (a nonzero value enables batching) #hibernate.jdbc.batch_size 5 #hibernate.jdbc.batch_size 0 ## enable batch updates even for versioned data hibernate.jdbc.batch_versioned_data true ## enable use of JDBC 2 scrollable ResultSets (specifying a Dialect will cause Hibernate to use a sensible default) #hibernate.jdbc.use_scrollable_resultset true ## use streams when writing binary types to / from JDBC hibernate.jdbc.use_streams_for_binary true ## use JDBC 3 PreparedStatement.getGeneratedKeys() to get the identifier of an inserted row #hibernate.jdbc.use_get_generated_keys false ## choose a custom JDBC batcher # hibernate.jdbc.factory_class ## enable JDBC result set column alias caching ## (minor performance enhancement for broken JDBC drivers) # hibernate.jdbc.wrap_result_sets ## choose a custom SQL exception converter #hibernate.jdbc.sql_exception_converter ########################## ### Second-level Cache ### ########################## ## optimize cache for minimal "puts" instead of minimal "gets" (good for clustered cache) #hibernate.cache.use_minimal_puts true ## set a prefix for cache region names hibernate.cache.region_prefix hibernate.test ## disable the second-level cache #hibernate.cache.use_second_level_cache false ## enable the query cache #hibernate.cache.use_query_cache true ## store the second-level cache entries in a more human-friendly format #hibernate.cache.use_structured_entries true ## choose a cache implementation #hibernate.cache.region.factory_class org.hibernate.cache.infinispan.InfinispanRegionFactory #hibernate.cache.region.factory_class org.hibernate.cache.infinispan.JndiInfinispanRegionFactory #hibernate.cache.region.factory_class org.hibernate.cache.internal.EhCacheRegionFactory #hibernate.cache.region.factory_class org.hibernate.cache.internal.SingletonEhCacheRegionFactory hibernate.cache.region.factory_class org.hibernate.cache.internal.NoCachingRegionFactory ## choose a custom query cache implementation #hibernate.cache.query_cache_factory ############ ### JNDI ### ############ ## specify a JNDI name for the SessionFactory #hibernate.session_factory_name hibernate/session_factory ## Hibernate uses JNDI to bind a name to a SessionFactory and to look up the JTA UserTransaction; ## if hibernate.jndi.* are not specified, Hibernate will use the default InitialContext() which ## is the best approach in an application server #file system #hibernate.jndi.class com.sun.jndi.fscontext.RefFSContextFactory #hibernate.jndi.url file:/ #WebSphere #hibernate.jndi.class com.ibm.websphere.naming.WsnInitialContextFactory #hibernate.jndi.url iiop://localhost:900/

2017-01-23

hibernate-dtd-xsd约束文件

hibernate的xsd和dtd约束文件合集;

2017-01-23

hibernate.properties.template

所有数据库连接驱动配置模板 hibernate.connection.driver_class com.mysql.jdbc.Driver hibernate.connection.url jdbc:mysql:///test hibernate.connection.username username hibernate.connection.password password

2017-01-23

mybatis-generator 源码

mybatis-generator 源码测试

2017-01-23

Integration_2.rar(mybatis generator测试源码)

Integration_2.rar(mybatis generator测试源码)

2017-01-23

鸟哥的Linux私房菜

《鸟哥的Linux私房菜:基础学习篇》是最具知名度的Linux入门书《鸟哥的Linux私房菜基础学习篇》的最新版,全面而详细地介绍了Linux操作系统。全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理,以及主机系统与程序的管理,如查看进程、任务分配和作业管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。 本书内容丰富全面,基本概念的讲解非常细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操作和详尽的解析。本书是初学者学习Linux不可多得的一本入门好书。

2017-01-22

UNIX环境高级编程中文版

UNIX环境高级编程中文版 作者: W.Richard Stevens Stephen A.Rago / Stephen A. Rago 出版社: 人民邮电出版社 原作名: Advanced Programming in the UNIX Environment 出版年: 2006-2 页数: 927 定价: 99.00元 装帧: 平装 本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第一版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外还在附录中给出了函数原型和部分习题的答案。 本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。 W.Richard Stevens备受赞誉的已帮技术作家,生前著有多种经典的传世之作,包括《UNIX网络编程》(两卷本)、《TCP/IP详解》(三卷本)和本书第1版。 Stephen A.Rago资源UNIX程序员,是当年贝尔实验室的UNIX系统V版本4的开发人员之一,著有《UNIX系统V网络编程》,并曾担任本书第1版的技术审校。他目前是ENC管理人员,专门从事文件服务器和文件系统方向的研究。

2017-01-22

UNIX环境高级编程(第3版)中文版(超清晰pdf)

UNIX环境高级编程(第3版)中文版(超清晰pdf) 《UNIX环境高级编程》是2006年由人民邮电出版社出版的图书,作者是(美)理查德·史蒂文斯、(美)拉戈,译者是张亚英、戚正伟。 本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。

2017-01-22

《Beginning Linux Programming 4th Edition》英文原版PDF下载

Welcome to Beginning Linux Programming, 4th Edition, an easy-to-use guide to developing programs for Linux and other UNIX-style operating systems. In this book we aim to give you an introduction to a wide variety of topics important to you as a developer using Linux. The word Beginning in the title refers more to the content than to your skill level. We’ve structured the book to help you learn more about what Linux has to offer, however much experience you have already. Linux programming is a large field and we aim to cover enough about a wide range of topics to give you a good “beginning” in each subject.

2017-01-22

linux bible, 9th edition(超清晰英文原版pdf)

Linux Bible, 9th Edition is the ultimate hands-on Linux user guide, whether you're a true beginner or a more advanced user navigating recent changes. This updated ninth edition covers the latest versions of Red Hat Enterprise Linux 7 (RHEL 7), Fedora 21, and Ubuntu 14.04 LTS, and includes new information on cloud computing and development with guidance on Openstack and Cloudforms. With a focus on RHEL 7, this practical guide gets you up to speed quickly on the new enhancements for enterprise-quality file systems, the new boot process and services management, firewalld, and the GNOME 3 desktop. Written by a Red Hat expert, this book provides the clear explanations and step-by-step instructions that demystify Linux and bring the new features seamlessly into your workflow.

2017-01-22

Advanced Programming in the UNIX Environment 3rd Edition英文版(超清晰pdf)

UNIX环境高级编程第三版(英文原版)(超清晰pdf) The first edition of the book was published by Addison-Wesley in 1992. It covered programming for the two popular families of the Unix operating system, the Berkeley Software Distribution (in particular 4.3 BSD and 386BSD) and AT&T's UNIX System V (particularly SVR4). The book covers system calls for operations on single file descriptors, special calls like ioctl that operate on file descriptors, and operations on files and directories. It covers the stdio section of the C standard library, and other parts of the library as needed. The several chapters concern the APIs that control processes, process groups, daemons, inter-process communication, and signals. One chapter is devoted to the Unix terminal control and another to the pseudo terminal concept and to libraries like termcap and curses that build atop it. Stevens adds three chapters giving more concrete examples of Unix programming: he implements a database library, communicates with a PostScript printer, and with a modem. The book does not cover network programming: this is the subject of Stevens' 1990 book UNIX Network Programming and his subsequent three-volume TCP/IP Illustrated. Stevens died in 1999 leaving a second edition incomplete. With the increasing popularity and technical diversification of Unix derivatives, and largely compatible systems like the Linux environment, the code and coverage of Stevens' original became increasingly outdated. Working with Stevens' unfinished notes, Stephen A. Rago completed a second edition which Addison-Wesley published in 2005. This added support for FreeBSD, Linux, Sun's Solaris, and Apple's Darwin, and added coverage of multithreaded programming with POSIX Threads. The second edition features a foreword by Dennis Ritchie and a Unix-themed Dilbert strip by Scott Adams. The book has been widely lauded as well written, well crafted, and comprehensive. It received a "hearty recommendation" in a Linux Journal review[1] OSNews describes it as "one of the best tech books ever published" in a review of the second edition.

2017-01-22

《鸟哥的Linux私房菜-基础篇》第四版(超清晰pdf)

《鸟哥的Linux私房菜-基础篇》第四版(超清晰pdf) 《鸟哥的Linux私房菜:基础学习篇》是最具知名度的Linux入门书《鸟哥的Linux私房菜基础学习篇》的最新版,全面而详细地介绍了Linux操作系统。全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理,以及主机系统与程序的管理,如查看进程、任务分配和作业管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。 本书内容丰富全面,基本概念的讲解非常细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操作和详尽的解析。本书是初学者学习Linux不可多得的一本入门好书。

2017-01-22

思考,快与慢(超清晰pdf)

在本书中,卡尼曼会带领我们体验一次思维的终极之旅。他认为,我们的大脑有快与慢两种作决定的方式。常用的无意识的“系统1”依赖情感、记忆和经验迅速作出判断,它见闻广博,使我们能够迅速对眼前的情况作出反应。但系统1也很容易上当,它固守“眼见即为事实”的原则,任由损失厌恶和乐观偏见之类的错觉引导我们作出错误的选择。有意识的“系统2”通过调动注意力来分析和解决问题,并作出决定,它比较慢,不容易出错,但它很懒惰,经常走捷径,直接采纳系统1的直觉型判断结果。 本书共分为五部分,第一部分讲述的是通过双系统进行判断与做出决策的基本原理。这部分内容详细说明了系统1的无意识运作和系统2受控制运作的区别,并且说明了系统1的核心,即联想记忆是如何不断对世界上所发生的事作出连贯的解释的。关于直觉性思考的自主且无意识过程的复杂性和丰富程度,以及这些自主过程如何能解释判断的启发法等问题,我试图说出自己的见解,目的是要引入一套用于思考和表达思想的语言。 第二部分对判断启发法的研究作了更新,还探索了一个难题,即为什么很难具备统计型思维。我们思考时总是会把多种事情联系起来,会将一件事情比喻成另一件,会突然想起一件事来,但统计学要求同一时间把多件事情串联起来,而这一点系统1是做不到的。 第三部分描述了我们大脑有说不清楚的局限:我们对自己认为熟知的事物确信不疑,我们显然无法了解自己的无知程度,无法确切了解自己所生活的这个世界的不确定性。我们总是高估自己对世界的了解,却低估了事件中存在的偶然性。当我们回顾以往时,由于后见之明,对有些事会产生虚幻的确定感,因此我们变得过于自信。我对这个问题的看法受《黑天鹅》(The Black Swan)的作者纳西姆·塔勒布(Nassim Taleb)的影响。我希望我这“饮水机旁的闲谈”能明智地借鉴以往经验,同时抵制后见之明和虚幻的确定之感的诱惑。 第四部分的重点是在决策制定的性质和经济因素为理性的前提下讨论经济的原则。1979年,阿莫斯和我发表了关于前景理论的决策模式,此部分在双系统下对前景理论的重要概念提出了新的看法。余下的几章讲的是人们从理性角度出发做出决策的几种方式。可悲的是,人们总是孤立地看待问题,表现出框架效应,即决策的制定往往因为对所回答问题不合逻辑的选择而受到影响。系统1的特征完全能解释这些观察结果,这对标准经济学所倾向的理性假设发起了很大的挑战。 两者间没有共性。例如,我们可以让人们体验两种痛苦。其中一种比另一种要更痛苦,因为体验的时间更长。系统1有一大特点,即记忆的自主形成是有其原则的,如此一来,较为痛苦的那段体验会留下更深刻的记忆。所以,此后当人们选择要回想哪段经历时,他们自然会受记忆自我的引导,将其自身(即经验自我)处于不必要的痛苦中。两种自我间的区别被用来测试人的幸福感,而我们发现使经验自我快乐的事不一定会让记忆自我满足。两种自我同时存在的个体要如何去追求幸福,这一问题引起了把居民的幸福看做政策目标的个人和社会的众多思考。 最后的章节是按倒叙来探索本书所述的三个区别的:经验自我和记忆自我的区别,古典经济学和和行为经济学(从心理学借鉴而来)的区别,以及自主的系统1和需费脑力的系统2的区别。书中还谈及了有价值的闲谈的好处,以及哪些内容有助于提升判断和自行决策的效能。

2017-01-20

spring-framework-reference(英文原版pdf官方参考文档)

Spring Framework Reference Documentation Authors Rod Johnson , Juergen Hoeller , Keith Donald , Colin Sampaleanu , Rob Harrop , Thomas Risberg , Alef Arendsen , Darren Davison , Dmitriy Kopylenko , Mark Pollack , Thierry Templier , Erwin Vervaet , Portia Tung , Ben Hale , Adrian Colyer , John Lewis , Costin Leau , Mark Fisher , Sam Brannen , Ramnivas Laddad , Arjen Poutsma , Chris Beams , Tareq Abedrabbo , Andy Clement , Dave Syer , Oliver Gierke , Rossen Stoyanchev , Phillip Webb , Rob Winch , Brian Clozel , Stephane Nicoll , Sebastien Deleuze 4.3.5.RELEASE Copyright © 2004-2016 Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically. Table of Contents I. Overview of Spring Framework 1. Getting Started with Spring 2. Introduction to the Spring Framework 2.1. Dependency Injection and Inversion of Control 2.2. Modules 2.2.1. Core Container 2.2.2. AOP and Instrumentation 2.2.3. Messaging 2.2.4. Data Access/Integration 2.2.5. Web 2.2.6. Test 2.3. Usage scenarios 2.3.1. Dependency Management and Naming Conventions Spring Dependencies and Depending on Spring Maven Dependency Management Maven "Bill Of Materials" Dependency Gradle Dependency Management Ivy Dependency Management Distribution Zip Files 2.3.2. Logging Not Using Commons Logging Using SLF4J Using Log4J II. What’s New in Spring Framework 4.x 3. New Features and Enhancements in Spring Framework 4.0 3.1. Improved Getting Started Experience 3.2. Removed Deprecated Packages and Methods 3.3. Java 8 (as well as 6 and 7) 3.4. Java EE 6 and 7 3.5. Groovy Bean Definition DSL 3.6. Core Container Improvements 3.7. General Web Improvements 3.8. WebSocket, SockJS, and STOMP Messaging 3.9. Testing Improvements 4. New Features and Enhancements in Spring Framework 4.1 4.1. JMS Improvements 4.2. Caching Improvements 4.3. Web Improvements 4.4. WebSocket Messaging Improvements 4.5. Testing Improvements 5. New Features and Enhancements in Spring Framework 4.2 5.1. Core Container Improvements 5.2. Data Access Improvements 5.3. JMS Improvements 5.4. Web Improvements 5.5. WebSocket Messaging Improvements 5.6. Testing Improvements 6. New Features and Enhancements in Spring Framework 4.3 6.1. Core Container Improvements 6.2. Data Access Improvements 6.3. Caching Improvements 6.4. JMS Improvements 6.5. Web Improvements 6.6. WebSocket Messaging Improvements 6.7. Testing Improvements 6.8. Support for new library and server generations III. Core Technologies 7. The IoC container 7.1. Introduction to the Spring IoC container and beans 7.2. Container overview 7.2.1. Configuration metadata 7.2.2. Instantiating a container Composing XML-based configuration metadata 7.2.3. Using the container 7.3. Bean overview 7.3.1. Naming beans Aliasing a bean outside the bean definition 7.3.2. Instantiating beans Instantiation with a constructor Instantiation with a static factory method Instantiation using an instance factory method 7.4. Dependencies 7.4.1. Dependency Injection Constructor-based dependency injection Setter-based dependency injection Dependency resolution process Examples of dependency injection 7.4.2. Dependencies and configuration in detail Straight values (primitives, Strings, and so on) References to other beans (collaborators) Inner beans Collections Null and empty string values XML shortcut with the p-namespace XML shortcut with the c-namespace Compound property names 7.4.3. Using depends-on 7.4.4. Lazy-initialized beans 7.4.5. Autowiring collaborators Limitations and disadvantages of autowiring Excluding a bean from autowiring 7.4.6. Method injection Lookup method injection Arbitrary method replacement 7.5. Bean scopes 7.5.1. The singleton scope 7.5.2. The prototype scope 7.5.3. Singleton beans with prototype-bean dependencies 7.5.4. Request, session, global session, application, and WebSocket scopes Initial web configuration Request scope Session scope Global session scope Application scope Scoped beans as dependencies 7.5.5. Custom scopes Creating a custom scope Using a custom scope 7.6. Customizing the nature of a bean 7.6.1. Lifecycle callbacks Initialization callbacks Destruction callbacks Default initialization and destroy methods Combining lifecycle mechanisms Startup and shutdown callbacks Shutting down the Spring IoC container gracefully in non-web applications 7.6.2. ApplicationContextAware and BeanNameAware 7.6.3. Other Aware interfaces 7.7. Bean definition inheritance 7.8. Container Extension Points 7.8.1. Customizing beans using a BeanPostProcessor Example: Hello World, BeanPostProcessor-style Example: The RequiredAnnotationBeanPostProcessor 7.8.2. Customizing configuration metadata with a BeanFactoryPostProcessor Example: the Class name substitution PropertyPlaceholderConfigurer Example: the PropertyOverrideConfigurer 7.8.3. Customizing instantiation logic with a FactoryBean 7.9. Annotation-based container configuration 7.9.1. @Required 7.9.2. @Autowired 7.9.3. Fine-tuning annotation-based autowiring with @Primary 7.9.4. Fine-tuning annotation-based autowiring with qualifiers 7.9.5. Using generics as autowiring qualifiers 7.9.6. CustomAutowireConfigurer 7.9.7. @Resource 7.9.8. @PostConstruct and @PreDestroy 7.10. Classpath scanning and managed components 7.10.1. @Component and further stereotype annotations 7.10.2. Meta-annotations 7.10.3. Automatically detecting classes and registering bean definitions 7.10.4. Using filters to customize scanning 7.10.5. Defining bean metadata within components 7.10.6. Naming autodetected components 7.10.7. Providing a scope for autodetected components 7.10.8. Providing qualifier metadata with annotations 7.11. Using JSR 330 Standard Annotations 7.11.1. Dependency Injection with @Inject and @Named 7.11.2. @Named and @ManagedBean: standard equivalents to the @Component annotation 7.11.3. Limitations of JSR-330 standard annotations 7.12. Java-based container configuration 7.12.1. Basic concepts: @Bean and @Configuration 7.12.2. Instantiating the Spring container using AnnotationConfigApplicationContext Simple construction Building the container programmatically using register(Class<?>…​) Enabling component scanning with scan(String…​) Support for web applications with AnnotationConfigWebApplicationContext 7.12.3. Using the @Bean annotation Declaring a bean Bean dependencies Receiving lifecycle callbacks Specifying bean scope Customizing bean naming Bean aliasing Bean description 7.12.4. Using the @Configuration annotation Injecting inter-bean dependencies Lookup method injection Further information about how Java-based configuration works internally 7.12.5. Composing Java-based configurations Using the @Import annotation Conditionally include @Configuration classes or @Bean methods Combining Java and XML configuration 7.13. Environment abstraction 7.13.1. Bean definition profiles @Profile 7.13.2. XML bean definition profiles Activating a profile Default profile 7.13.3. PropertySource abstraction 7.13.4. @PropertySource 7.13.5. Placeholder resolution in statements 7.14. Registering a LoadTimeWeaver 7.15. Additional Capabilities of the ApplicationContext 7.15.1. Internationalization using MessageSource 7.15.2. Standard and Custom Events Annotation-based Event Listeners Asynchronous Listeners Ordering Listeners Generic Events 7.15.3. Convenient access to low-level resources 7.15.4. Convenient ApplicationContext instantiation for web applications 7.15.5. Deploying a Spring ApplicationContext as a Java EE RAR file 7.16. The BeanFactory 7.16.1. BeanFactory or ApplicationContext? 7.16.2. Glue code and the evil singleton 8. Resources 8.1. Introduction 8.2. The Resource interface 8.3. Built-in Resource implementations 8.3.1. UrlResource 8.3.2. ClassPathResource 8.3.3. FileSystemResource 8.3.4. ServletContextResource 8.3.5. InputStreamResource 8.3.6. ByteArrayResource 8.4. The ResourceLoader 8.5. The ResourceLoaderAware interface 8.6. Resources as dependencies 8.7. Application contexts and Resource paths 8.7.1. Constructing application contexts Constructing ClassPathXmlApplicationContext instances - shortcuts 8.7.2. Wildcards in application context constructor resource paths Ant-style Patterns The Classpath*: portability classpath*: prefix Other notes relating to wildcards 8.7.3. FileSystemResource caveats 9. Validation, Data Binding, and Type Conversion 9.1. Introduction 9.2. Validation using Spring’s Validator interface 9.3. Resolving codes to error messages 9.4. Bean manipulation and the BeanWrapper 9.4.1. Setting and getting basic and nested properties 9.4.2. Built-in PropertyEditor implementations Registering additional custom PropertyEditors 9.5. Spring Type Conversion 9.5.1. Converter SPI 9.5.2. ConverterFactory 9.5.3. GenericConverter ConditionalGenericConverter 9.5.4. ConversionService API 9.5.5. Configuring a ConversionService 9.5.6. Using a ConversionService programmatically 9.6. Spring Field Formatting 9.6.1. Formatter SPI 9.6.2. Annotation-driven Formatting Format Annotation API 9.6.3. FormatterRegistry SPI 9.6.4. FormatterRegistrar SPI 9.6.5. Configuring Formatting in Spring MVC 9.7. Configuring a global date & time format 9.8. Spring Validation 9.8.1. Overview of the JSR-303 Bean Validation API 9.8.2. Configuring a Bean Validation Provider Injecting a Validator Configuring Custom Constraints Spring-driven Method Validation Additional Configuration Options 9.8.3. Configuring a DataBinder 9.8.4. Spring MVC 3 Validation 10. Spring Expression Language (SpEL) 10.1. Introduction 10.2. Feature Overview 10.3. Expression Evaluation using Spring’s Expression Interface 10.3.1. The EvaluationContext interface Type Conversion 10.3.2. Parser configuration 10.3.3. SpEL compilation Compiler configuration Compiler limitations 10.4. Expression support for defining bean definitions 10.4.1. XML based configuration 10.4.2. Annotation-based configuration 10.5. Language Reference 10.5.1. Literal expressions 10.5.2. Properties, Arrays, Lists, Maps, Indexers 10.5.3. Inline lists 10.5.4. Inline Maps 10.5.5. Array construction 10.5.6. Methods 10.5.7. Operators Relational operators Logical operators Mathematical operators 10.5.8. Assignment 10.5.9. Types 10.5.10. Constructors 10.5.11. Variables The #this and #root variables 10.5.12. Functions 10.5.13. Bean references 10.5.14. Ternary Operator (If-Then-Else) 10.5.15. The Elvis Operator 10.5.16. Safe Navigation operator 10.5.17. Collection Selection 10.5.18. Collection Projection 10.5.19. Expression templating 10.6. Classes used in the examples 11. Aspect Oriented Programming with Spring 11.1. Introduction 11.1.1. AOP concepts 11.1.2. Spring AOP capabilities and goals 11.1.3. AOP Proxies 11.2. @AspectJ support 11.2.1. Enabling @AspectJ Support Enabling @AspectJ Support with Java configuration Enabling @AspectJ Support with XML configuration 11.2.2. Declaring an aspect 11.2.3. Declaring a pointcut Supported Pointcut Designators Combining pointcut expressions Sharing common pointcut definitions Examples Writing good pointcuts 11.2.4. Declaring advice Before advice After returning advice After throwing advice After (finally) advice Around advice Advice parameters Advice ordering 11.2.5. Introductions 11.2.6. Aspect instantiation models 11.2.7. Example 11.3. Schema-based AOP support 11.3.1. Declaring an aspect 11.3.2. Declaring a pointcut 11.3.3. Declaring advice Before advice After returning advice After throwing advice After (finally) advice Around advice Advice parameters Advice ordering 11.3.4. Introductions 11.3.5. Aspect instantiation models 11.3.6. Advisors 11.3.7. Example 11.4. Choosing which AOP declaration style to use 11.4.1. Spring AOP or full AspectJ? 11.4.2. @AspectJ or XML for Spring AOP? 11.5. Mixing aspect types 11.6. Proxying mechanisms 11.6.1. Understanding AOP proxies 11.7. Programmatic creation of @AspectJ Proxies 11.8. Using AspectJ with Spring applications 11.8.1. Using AspectJ to dependency inject domain objects with Spring Unit testing @Configurable objects Working with multiple application contexts 11.8.2. Other Spring aspects for AspectJ 11.8.3. Configuring AspectJ aspects using Spring IoC 11.8.4. Load-time weaving with AspectJ in the Spring Framework A first example Aspects 'META-INF/aop.xml' Required libraries (JARS) Spring configuration Environment-specific configuration 11.9. Further Resources 12. Spring AOP APIs 12.1. Introduction 12.2. Pointcut API in Spring 12.2.1. Concepts 12.2.2. Operations on pointcuts 12.2.3. AspectJ expression pointcuts 12.2.4. Convenience pointcut implementations Static pointcuts Dynamic pointcuts 12.2.5. Pointcut superclasses 12.2.6. Custom pointcuts 12.3. Advice API in Spring 12.3.1. Advice lifecycles 12.3.2. Advice types in Spring Interception around advice Before advice Throws advice After Returning advice Introduction advice 12.4. Advisor API in Spring 12.5. Using the ProxyFactoryBean to create AOP proxies 12.5.1. Basics 12.5.2. JavaBean properties 12.5.3. JDK- and CGLIB-based proxies 12.5.4. Proxying interfaces 12.5.5. Proxying classes 12.5.6. Using 'global' advisors 12.6. Concise proxy definitions 12.7. Creating AOP proxies programmatically with the ProxyFactory 12.8. Manipulating advised objects 12.9. Using the "auto-proxy" facility 12.9.1. Autoproxy bean definitions BeanNameAutoProxyCreator DefaultAdvisorAutoProxyCreator AbstractAdvisorAutoProxyCreator 12.9.2. Using metadata-driven auto-proxying 12.10. Using TargetSources 12.10.1. Hot swappable target sources 12.10.2. Pooling target sources 12.10.3. Prototype target sources 12.10.4. ThreadLocal target sources 12.11. Defining new Advice types 12.12. Further resources IV. Testing 13. Introduction to Spring Testing 14. Unit Testing 14.1. Mock Objects 14.1.1. Environment 14.1.2. JNDI 14.1.3. Servlet API 14.1.4. Portlet API 14.2. Unit Testing support Classes 14.2.1. General testing utilities 14.2.2. Spring MVC 15. Integration Testing 15.1. Overview 15.2. Goals of Integration Testing 15.2.1. Context management and caching 15.2.2. Dependency Injection of test fixtures 15.2.3. Transaction management 15.2.4. Support classes for integration testing 15.3. JDBC Testing Support 15.4. Annotations 15.4.1. Spring Testing Annotations @BootstrapWith @ContextConfiguration @WebAppConfiguration @ContextHierarchy @ActiveProfiles @TestPropertySource @DirtiesContext @TestExecutionListeners @Commit @Rollback @BeforeTransaction @AfterTransaction @Sql @SqlConfig @SqlGroup 15.4.2. Standard Annotation Support 15.4.3. Spring JUnit 4 Testing Annotations @IfProfileValue @ProfileValueSourceConfiguration @Timed @Repeat 15.4.4. Meta-Annotation Support for Testing 15.5. Spring TestContext Framework 15.5.1. Key abstractions TestContext TestContextManager TestExecutionListener Context Loaders 15.5.2. Bootstrapping the TestContext framework 15.5.3. TestExecutionListener configuration Registering custom TestExecutionListeners Automatic discovery of default TestExecutionListeners Ordering TestExecutionListeners Merging TestExecutionListeners 15.5.4. Context management Context configuration with XML resources Context configuration with Groovy scripts Context configuration with annotated classes Mixing XML, Groovy scripts, and annotated classes Context configuration with context initializers Context configuration inheritance Context configuration with environment profiles Context configuration with test property sources Loading a WebApplicationContext Context caching Context hierarchies 15.5.5. Dependency injection of test fixtures 15.5.6. Testing request and session scoped beans 15.5.7. Transaction management Test-managed transactions Enabling and disabling transactions Transaction rollback and commit behavior Programmatic transaction management Executing code outside of a transaction Configuring a transaction manager Demonstration of all transaction-related annotations 15.5.8. Executing SQL scripts Executing SQL scripts programmatically Executing SQL scripts declaratively with @Sql 15.5.9. TestContext Framework support classes Spring JUnit 4 Runner Spring JUnit 4 Rules JUnit 4 support classes TestNG support classes 15.6. Spring MVC Test Framework 15.6.1. Server-Side Tests Static Imports Setup Options Performing Requests Defining Expectations Filter Registrations Differences between Out-of-Container and End-to-End Integration Tests Further Server-Side Test Examples 15.6.2. HtmlUnit Integration Why HtmlUnit Integration? MockMvc and HtmlUnit MockMvc and WebDriver MockMvc and Geb 15.6.3. Client-Side REST Tests Static Imports Further Examples of Client-side REST Tests 15.7. PetClinic Example 16. Further Resources V. Data Access 17. Transaction Management 17.1. Introduction to Spring Framework transaction management 17.2. Advantages of the Spring Framework’s transaction support model 17.2.1. Global transactions 17.2.2. Local transactions 17.2.3. Spring Framework’s consistent programming model 17.3. Understanding the Spring Framework transaction abstraction 17.4. Synchronizing resources with transactions 17.4.1. High-level synchronization approach 17.4.2. Low-level synchronization approach 17.4.3. TransactionAwareDataSourceProxy 17.5. Declarative transaction management 17.5.1. Understanding the Spring Framework’s declarative transaction implementation 17.5.2. Example of declarative transaction implementation 17.5.3. Rolling back a declarative transaction 17.5.4. Configuring different transactional semantics for different beans 17.5.5. <tx:advice/> settings 17.5.6. Using @Transactional @Transactional settings Multiple Transaction Managers with @Transactional Custom shortcut annotations 17.5.7. Transaction propagation Required RequiresNew Nested 17.5.8. Advising transactional operations 17.5.9. Using @Transactional with AspectJ 17.6. Programmatic transaction management 17.6.1. Using the TransactionTemplate Specifying transaction settings 17.6.2. Using the PlatformTransactionManager 17.7. Choosing between programmatic and declarative transaction management 17.8. Transaction bound event 17.9. Application server-specific integration 17.9.1. IBM WebSphere 17.9.2. Oracle WebLogic Server 17.10. Solutions to common problems 17.10.1. Use of the wrong transaction manager for a specific DataSource 17.11. Further Resources 18. DAO support 18.1. Introduction 18.2. Consistent exception hierarchy 18.3. Annotations used for configuring DAO or Repository classes 19. Data access with JDBC 19.1. Introduction to Spring Framework JDBC 19.1.1. Choosing an approach for JDBC database access 19.1.2. Package hierarchy 19.2. Using the JDBC core classes to control basic JDBC processing and error handling 19.2.1. JdbcTemplate Examples of JdbcTemplate class usage JdbcTemplate best practices 19.2.2. NamedParameterJdbcTemplate 19.2.3. SQLExceptionTranslator 19.2.4. Executing statements 19.2.5. Running queries 19.2.6. Updating the database 19.2.7. Retrieving auto-generated keys 19.3. Controlling database connections 19.3.1. DataSource 19.3.2. DataSourceUtils 19.3.3. SmartDataSource 19.3.4. AbstractDataSource 19.3.5. SingleConnectionDataSource 19.3.6. DriverManagerDataSource 19.3.7. TransactionAwareDataSourceProxy 19.3.8. DataSourceTransactionManager 19.3.9. NativeJdbcExtractor 19.4. JDBC batch operations 19.4.1. Basic batch operations with the JdbcTemplate 19.4.2. Batch operations with a List of objects 19.4.3. Batch operations with multiple batches 19.5. Simplifying JDBC operations with the SimpleJdbc classes 19.5.1. Inserting data using SimpleJdbcInsert 19.5.2. Retrieving auto-generated keys using SimpleJdbcInsert 19.5.3. Specifying columns for a SimpleJdbcInsert 19.5.4. Using SqlParameterSource to provide parameter values 19.5.5. Calling a stored procedure with SimpleJdbcCall 19.5.6. Explicitly declaring parameters to use for a SimpleJdbcCall 19.5.7. How to define SqlParameters 19.5.8. Calling a stored function using SimpleJdbcCall 19.5.9. Returning ResultSet/REF Cursor from a SimpleJdbcCall 19.6. Modeling JDBC operations as Java objects 19.6.1. SqlQuery 19.6.2. MappingSqlQuery 19.6.3. SqlUpdate 19.6.4. StoredProcedure 19.7. Common problems with parameter and data value handling 19.7.1. Providing SQL type information for parameters 19.7.2. Handling BLOB and CLOB objects 19.7.3. Passing in lists of values for IN clause 19.7.4. Handling complex types for stored procedure calls 19.8. Embedded database support 19.8.1. Why use an embedded database? 19.8.2. Creating an embedded database using Spring XML 19.8.3. Creating an embedded database programmatically 19.8.4. Selecting the embedded database type Using HSQL Using H2 Using Derby 19.8.5. Testing data access logic with an embedded database 19.8.6. Generating unique names for embedded databases 19.8.7. Extending the embedded database support 19.9. Initializing a DataSource 19.9.1. Initializing a database using Spring XML Initialization of other components that depend on the database 20. Object Relational Mapping (ORM) Data Access 20.1. Introduction to ORM with Spring 20.2. General ORM integration considerations 20.2.1. Resource and transaction management 20.2.2. Exception translation 20.3. Hibernate 20.3.1. SessionFactory setup in a Spring container 20.3.2. Implementing DAOs based on plain Hibernate API 20.3.3. Declarative transaction demarcation 20.3.4. Programmatic transaction demarcation 20.3.5. Transaction management strategies 20.3.6. Comparing container-managed and locally defined resources 20.3.7. Spurious application server warnings with Hibernate 20.4. JDO 20.4.1. PersistenceManagerFactory setup 20.4.2. Implementing DAOs based on the plain JDO API 20.4.3. Transaction management 20.4.4. JdoDialect 20.5. JPA 20.5.1. Three options for JPA setup in a Spring environment LocalEntityManagerFactoryBean Obtaining an EntityManagerFactory from JNDI LocalContainerEntityManagerFactoryBean Dealing with multiple persistence units 20.5.2. Implementing DAOs based on JPA: EntityManagerFactory and EntityManager 20.5.3. Spring-driven JPA transactions 20.5.4. JpaDialect and JpaVendorAdapter 20.5.5. Setting up JPA with JTA transaction management 21. Marshalling XML using O/X Mappers 21.1. Introduction 21.1.1. Ease of configuration 21.1.2. Consistent Interfaces 21.1.3. Consistent Exception Hierarchy 21.2. Marshaller and Unmarshaller 21.2.1. Marshaller 21.2.2. Unmarshaller 21.2.3. XmlMappingException 21.3. Using Marshaller and Unmarshaller 21.4. XML Schema-based Configuration 21.5. JAXB 21.5.1. Jaxb2Marshaller XML Schema-based Configuration 21.6. Castor 21.6.1. CastorMarshaller 21.6.2. Mapping XML Schema-based Configuration 21.7. XMLBeans 21.7.1. XmlBeansMarshaller XML Schema-based Configuration 21.8. JiBX 21.8.1. JibxMarshaller XML Schema-based Configuration 21.9. XStream 21.9.1. XStreamMarshaller VI. The Web 22. Web MVC framework 22.1. Introduction to Spring Web MVC framework 22.1.1. Features of Spring Web MVC 22.1.2. Pluggability of other MVC implementations 22.2. The DispatcherServlet 22.2.1. Special Bean Types In the WebApplicationContext 22.2.2. Default DispatcherServlet Configuration 22.2.3. DispatcherServlet Processing Sequence 22.3. Implementing Controllers 22.3.1. Defining a controller with @Controller 22.3.2. Mapping Requests With @RequestMapping Composed @RequestMapping Variants @Controller and AOP Proxying New Support Classes for @RequestMapping methods in Spring MVC 3.1 URI Template Patterns URI Template Patterns with Regular Expressions Path Patterns Path Pattern Comparison Path Patterns with Placeholders Suffix Pattern Matching Suffix Pattern Matching and RFD Matrix Variables Consumable Media Types Producible Media Types Request Parameters and Header Values HTTP HEAD and HTTP OPTIONS 22.3.3. Defining @RequestMapping handler methods Supported method argument types Supported method return types Binding request parameters to method parameters with @RequestParam Mapping the request body with the @RequestBody annotation Mapping the response body with the @ResponseBody annotation Creating REST Controllers with the @RestController annotation Using HttpEntity Using @ModelAttribute on a method Using @ModelAttribute on a method argument Using @SessionAttributes to store model attributes in the HTTP session between requests Using @SessionAttribute to access pre-existing global session attributes Using @RequestAttribute to access request attributes Working with "application/x-www-form-urlencoded" data Mapping cookie values with the @CookieValue annotation Mapping request header attributes with the @RequestHeader annotation Method Parameters And Type Conversion Customizing WebDataBinder initialization Advising controllers with @ControllerAdvice and @RestControllerAdvice Jackson Serialization View Support Jackson JSONP Support 22.3.4. Asynchronous Request Processing Exception Handling for Async Requests Intercepting Async Requests HTTP Streaming HTTP Streaming With Server-Sent Events HTTP Streaming Directly To The OutputStream Configuring Asynchronous Request Processing 22.3.5. Testing Controllers 22.4. Handler mappings 22.4.1. Intercepting requests with a HandlerInterceptor 22.5. Resolving views 22.5.1. Resolving views with the ViewResolver interface 22.5.2. Chaining ViewResolvers 22.5.3. Redirecting to Views RedirectView The redirect: prefix The forward: prefix 22.5.4. ContentNegotiatingViewResolver 22.6. Using flash attributes 22.7. Building URIs 22.7.1. Building URIs to Controllers and methods 22.7.2. Building URIs to Controllers and methods from views 22.8. Using locales 22.8.1. Obtaining Time Zone Information 22.8.2. AcceptHeaderLocaleResolver 22.8.3. CookieLocaleResolver 22.8.4. SessionLocaleResolver 22.8.5. LocaleChangeInterceptor 22.9. Using themes 22.9.1. Overview of themes 22.9.2. Defining themes 22.9.3. Theme resolvers 22.10. Spring’s multipart (file upload) support 22.10.1. Introduction 22.10.2. Using a MultipartResolver with Commons FileUpload 22.10.3. Using a MultipartResolver with Servlet 3.0 22.10.4. Handling a file upload in a form 22.10.5. Handling a file upload request from programmatic clients 22.11. Handling exceptions 22.11.1. HandlerExceptionResolver 22.11.2. @ExceptionHandler 22.11.3. Handling Standard Spring MVC Exceptions 22.11.4. Annotating Business Exceptions With @ResponseStatus 22.11.5. Customizing the Default Servlet Container Error Page 22.12. Web Security 22.13. Convention over configuration support 22.13.1. The Controller ControllerClassNameHandlerMapping 22.13.2. The Model ModelMap (ModelAndView) 22.13.3. The View - RequestToViewNameTranslator 22.14. HTTP caching support 22.14.1. Cache-Control HTTP header 22.14.2. HTTP caching support for static resources 22.14.3. Support for the Cache-Control, ETag and Last-Modified response headers in Controllers 22.14.4. Shallow ETag support 22.15. Code-based Servlet container initialization 22.16. Configuring Spring MVC 22.16.1. Enabling the MVC Java Config or the MVC XML Namespace 22.16.2. Customizing the Provided Configuration 22.16.3. Conversion and Formatting 22.16.4. Validation 22.16.5. Interceptors 22.16.6. Content Negotiation 22.16.7. View Controllers 22.16.8. View Resolvers 22.16.9. Serving of Resources 22.16.10. Falling Back On the "Default" Servlet To Serve Resources 22.16.11. Path Matching 22.16.12. Message Converters 22.16.13. Advanced Customizations with MVC Java Config 22.16.14. Advanced Customizations with the MVC Namespace 23. View technologies 23.1. Introduction 23.2. Thymeleaf 23.3. Groovy Markup Templates 23.3.1. Configuration 23.3.2. Example 23.4. Velocity & FreeMarker 23.4.1. Dependencies 23.4.2. Context configuration 23.4.3. Creating templates 23.4.4. Advanced configuration velocity.properties FreeMarker 23.4.5. Bind support and form handling The bind macros Simple binding Form input generation macros HTML escaping and XHTML compliance 23.5. JSP & JSTL 23.5.1. View resolvers 23.5.2. 'Plain-old' JSPs versus JSTL 23.5.3. Additional tags facilitating development 23.5.4. Using Spring’s form tag library Configuration The form tag The input tag The checkbox tag The checkboxes tag The radiobutton tag The radiobuttons tag The password tag The select tag The option tag The options tag The textarea tag The hidden tag The errors tag HTTP Method Conversion HTML5 Tags 23.6. Script templates 23.6.1. Dependencies 23.6.2. How to integrate script based templating 23.7. XML Marshalling View 23.8. Tiles 23.8.1. Dependencies 23.8.2. How to integrate Tiles UrlBasedViewResolver ResourceBundleViewResolver SimpleSpringPreparerFactory and SpringBeanPreparerFactory 23.9. XSLT 23.9.1. My First Words Bean definitions Standard MVC controller code Document transformation 23.10. Document views (PDF/Excel) 23.10.1. Introduction 23.10.2. Configuration and setup Document view definitions Controller code Subclassing for Excel views Subclassing for PDF views 23.11. JasperReports 23.11.1. Dependencies 23.11.2. Configuration Configuring the ViewResolver Configuring the Views About Report Files Using JasperReportsMultiFormatView 23.11.3. Populating the ModelAndView 23.11.4. Working with Sub-Reports Configuring Sub-Report Files Configuring Sub-Report Data Sources 23.11.5. Configuring Exporter Parameters 23.12. Feed Views 23.13. JSON Mapping View 23.14. XML Mapping View 24. Integrating with other web frameworks 24.1. Introduction 24.2. Common configuration 24.3. JavaServer Faces 1.2 24.3.1. SpringBeanFacesELResolver (JSF 1.2+) 24.3.2. FacesContextUtils 24.4. Apache Struts 2.x 24.5. Tapestry 5.x 24.6. Further Resources 25. Portlet MVC Framework 25.1. Introduction 25.1.1. Controllers - The C in MVC 25.1.2. Views - The V in MVC 25.1.3. Web-scoped beans 25.2. The DispatcherPortlet 25.3. The ViewRendererServlet 25.4. Controllers 25.4.1. AbstractController and PortletContentGenerator 25.4.2. Other simple controllers 25.4.3. Command Controllers 25.4.4. PortletWrappingController 25.5. Handler mappings 25.5.1. PortletModeHandlerMapping 25.5.2. ParameterHandlerMapping 25.5.3. PortletModeParameterHandlerMapping 25.5.4. Adding HandlerInterceptors 25.5.5. HandlerInterceptorAdapter 25.5.6. ParameterMappingInterceptor 25.6. Views and resolving them 25.7. Multipart (file upload) support 25.7.1. Using the PortletMultipartResolver 25.7.2. Handling a file upload in a form 25.8. Handling exceptions 25.9. Annotation-based controller configuration 25.9.1. Setting up the dispatcher for annotation support 25.9.2. Defining a controller with @Controller 25.9.3. Mapping requests with @RequestMapping 25.9.4. Supported handler method arguments 25.9.5. Binding request parameters to method parameters with @RequestParam 25.9.6. Providing a link to data from the model with @ModelAttribute 25.9.7. Specifying attributes to store in a Session with @SessionAttributes 25.9.8. Customizing WebDataBinder initialization Customizing data binding with @InitBinder Configuring a custom WebBindingInitializer 25.10. Portlet application deployment 26. WebSocket Support 26.1. Introduction 26.1.1. WebSocket Fallback Options 26.1.2. A Messaging Architecture 26.1.3. Sub-Protocol Support in WebSocket 26.1.4. Should I Use WebSocket? 26.2. WebSocket API 26.2.1. Create and Configure a WebSocketHandler 26.2.2. Customizing the WebSocket Handshake 26.2.3. WebSocketHandler Decoration 26.2.4. Deployment Considerations 26.2.5. Configuring the WebSocket Engine 26.2.6. Configuring allowed origins 26.3. SockJS Fallback Options 26.3.1. Overview of SockJS 26.3.2. Enable SockJS 26.3.3. HTTP Streaming in IE 8, 9: Ajax/XHR vs IFrame 26.3.4. Heartbeat Messages 26.3.5. Servlet 3 Async Requests 26.3.6. CORS Headers for SockJS 26.3.7. SockJS Client 26.4. STOMP Over WebSocket Messaging Architecture 26.4.1. Overview of STOMP 26.4.2. Enable STOMP over WebSocket 26.4.3. Flow of Messages 26.4.4. Annotation Message Handling 26.4.5. Sending Messages 26.4.6. Simple Broker 26.4.7. Full-Featured Broker 26.4.8. Connections To Full-Featured Broker 26.4.9. Using Dot as Separator in @MessageMapping Destinations 26.4.10. Authentication 26.4.11. Token-based Authentication 26.4.12. User Destinations 26.4.13. Listening To ApplicationContext Events and Intercepting Messages 26.4.14. STOMP Client 26.4.15. WebSocket Scope 26.4.16. Configuration and Performance 26.4.17. Runtime Monitoring 26.4.18. Testing Annotated Controller Methods 27. CORS Support 27.1. Introduction 27.2. Controller method CORS configuration 27.3. Global CORS configuration 27.3.1. JavaConfig 27.3.2. XML namespace 27.4. Advanced Customization 27.5. Filter based CORS support VII. Integration 28. Remoting and web services using Spring 28.1. Introduction 28.2. Exposing services using RMI 28.2.1. Exporting the service using the RmiServiceExporter 28.2.2. Linking in the service at the client 28.3. Using Hessian or Burlap to remotely call services via HTTP 28.3.1. Wiring up the DispatcherServlet for Hessian and co. 28.3.2. Exposing your beans by using the HessianServiceExporter 28.3.3. Linking in the service on the client 28.3.4. Using Burlap 28.3.5. Applying HTTP basic authentication to a service exposed through Hessian or Burlap 28.4. Exposing services using HTTP invokers 28.4.1. Exposing the service object 28.4.2. Linking in the service at the client 28.5. Web services 28.5.1. Exposing servlet-based web services using JAX-WS 28.5.2. Exporting standalone web services using JAX-WS 28.5.3. Exporting web services using the JAX-WS RI’s Spring support 28.5.4. Accessing web services using JAX-WS 28.6. JMS 28.6.1. Server-side configuration 28.6.2. Client-side configuration 28.7. AMQP 28.8. Auto-detection is not implemented for remote interfaces 28.9. Considerations when choosing a technology 28.10. Accessing RESTful services on the Client 28.10.1. RestTemplate Working with the URI Dealing with request and response headers Jackson JSON Views support 28.10.2. HTTP Message Conversion StringHttpMessageConverter FormHttpMessageConverter ByteArrayHttpMessageConverter MarshallingHttpMessageConverter MappingJackson2HttpMessageConverter MappingJackson2XmlHttpMessageConverter SourceHttpMessageConverter BufferedImageHttpMessageConverter 28.10.3. Async RestTemplate 29. Enterprise JavaBeans (EJB) integration 29.1. Introduction 29.2. Accessing EJBs 29.2.1. Concepts 29.2.2. Accessing local SLSBs 29.2.3. Accessing remote SLSBs 29.2.4. Accessing EJB 2.x SLSBs versus EJB 3 SLSBs 29.3. Using Spring’s EJB implementation support classes 29.3.1. EJB 3 injection interceptor 30. JMS (Java Message Service) 30.1. Introduction 30.2. Using Spring JMS 30.2.1. JmsTemplate 30.2.2. Connections Caching Messaging Resources SingleConnectionFactory CachingConnectionFactory 30.2.3. Destination Management 30.2.4. Message Listener Containers SimpleMessageListenerContainer DefaultMessageListenerContainer 30.2.5. Transaction management 30.3. Sending a Message 30.3.1. Using Message Converters 30.3.2. SessionCallback and ProducerCallback 30.4. Receiving a message 30.4.1. Synchronous Reception 30.4.2. Asynchronous Reception - Message-Driven POJOs 30.4.3. the SessionAwareMessageListener interface 30.4.4. the MessageListenerAdapter 30.4.5. Processing messages within transactions 30.5. Support for JCA Message Endpoints 30.6. Annotation-driven listener endpoints 30.6.1. Enable listener endpoint annotations 30.6.2. Programmatic endpoints registration 30.6.3. Annotated endpoint method signature 30.6.4. Response management 30.7. JMS namespace support 31. JMX 31.1. Introduction 31.2. Exporting your beans to JMX 31.2.1. Creating an MBeanServer 31.2.2. Reusing an existing MBeanServer 31.2.3. Lazy-initialized MBeans 31.2.4. Automatic registration of MBeans 31.2.5. Controlling the registration behavior 31.3. Controlling the management interface of your beans 31.3.1. the MBeanInfoAssembler Interface 31.3.2. Using Source-Level Metadata (Java annotations) 31.3.3. Source-Level Metadata Types 31.3.4. the AutodetectCapableMBeanInfoAssembler interface 31.3.5. Defining management interfaces using Java interfaces 31.3.6. Using MethodNameBasedMBeanInfoAssembler 31.4. Controlling the ObjectNames for your beans 31.4.1. Reading ObjectNames from Properties 31.4.2. Using the MetadataNamingStrategy 31.4.3. Configuring annotation based MBean export 31.5. JSR-160 Connectors 31.5.1. Server-side Connectors 31.5.2. Client-side Connectors 31.5.3. JMX over Burlap/Hessian/SOAP 31.6. Accessing MBeans via Proxies 31.7. Notifications 31.7.1. Registering Listeners for Notifications 31.7.2. Publishing Notifications 31.8. Further Resources 32. JCA CCI 32.1. Introduction 32.2. Configuring CCI 32.2.1. Connector configuration 32.2.2. ConnectionFactory configuration in Spring 32.2.3. Configuring CCI connections 32.2.4. Using a single CCI connection 32.3. Using Spring’s CCI access support 32.3.1. Record conversion 32.3.2. the CciTemplate 32.3.3. DAO support 32.3.4. Automatic output record generation 32.3.5. Summary 32.3.6. Using a CCI Connection and Interaction directly 32.3.7. Example for CciTemplate usage 32.4. Modeling CCI access as operation objects 32.4.1. MappingRecordOperation 32.4.2. MappingCommAreaOperation 32.4.3. Automatic output record generation 32.4.4. Summary 32.4.5. Example for MappingRecordOperation usage 32.4.6. Example for MappingCommAreaOperation usage 32.5. Transactions 33. Email 33.1. Introduction 33.2. Usage 33.2.1. Basic MailSender and SimpleMailMessage usage 33.2.2. Using the JavaMailSender and the MimeMessagePreparator 33.3. Using the JavaMail MimeMessageHelper 33.3.1. Sending attachments and inline resources Attachments Inline resources 33.3.2. Creating email content using a templating library A Velocity-based example 34. Task Execution and Scheduling 34.1. Introduction 34.2. The Spring TaskExecutor abstraction 34.2.1. TaskExecutor types 34.2.2. Using a TaskExecutor 34.3. The Spring TaskScheduler abstraction 34.3.1. the Trigger interface 34.3.2. Trigger implementations 34.3.3. TaskScheduler implementations 34.4. Annotation Support for Scheduling and Asynchronous Execution 34.4.1. Enable scheduling annotations 34.4.2. The @Scheduled annotation 34.4.3. The @Async annotation 34.4.4. Executor qualification with @Async 34.4.5. Exception management with @Async 34.5. The task namespace 34.5.1. The 'scheduler' element 34.5.2. The 'executor' element 34.5.3. The 'scheduled-tasks' element 34.6. Using the Quartz Scheduler 34.6.1. Using the JobDetailFactoryBean 34.6.2. Using the MethodInvokingJobDetailFactoryBean 34.6.3. Wiring up jobs using triggers and the SchedulerFactoryBean 35. Dynamic language support 35.1. Introduction 35.2. A first example 35.3. Defining beans that are backed by dynamic languages 35.3.1. Common concepts The <lang:language/> element Refreshable beans Inline dynamic language source files Understanding Constructor Injection in the context of dynamic-language-backed beans 35.3.2. JRuby beans 35.3.3. Groovy beans Customizing Groovy objects via a callback 35.3.4. BeanShell beans 35.4. Scenarios 35.4.1. Scripted Spring MVC Controllers 35.4.2. Scripted Validators 35.5. Bits and bobs 35.5.1. AOP - advising scripted beans 35.5.2. Scoping 35.6. Further Resources 36. Cache Abstraction 36.1. Introduction 36.2. Understanding the cache abstraction 36.3. Declarative annotation-based caching 36.3.1. @Cacheable annotation Default Key Generation Custom Key Generation Declaration Default Cache Resolution Custom cache resolution Synchronized caching Conditional caching Available caching SpEL evaluation context 36.3.2. @CachePut annotation 36.3.3. @CacheEvict annotation 36.3.4. @Caching annotation 36.3.5. @CacheConfig annotation 36.3.6. Enable caching annotations 36.3.7. Using custom annotations 36.4. JCache (JSR-107) annotations 36.4.1. Features summary 36.4.2. Enabling JSR-107 support 36.5. Declarative XML-based caching 36.6. Configuring the cache storage 36.6.1. JDK ConcurrentMap-based Cache 36.6.2. Ehcache-based Cache 36.6.3. Caffeine Cache 36.6.4. Guava Cache 36.6.5. GemFire-based Cache 36.6.6. JSR-107 Cache 36.6.7. Dealing with caches without a backing store 36.7. Plugging-in different back-end caches 36.8. How can I set the TTL/TTI/Eviction policy/XXX feature? VIII. Appendices 37. Migrating to Spring Framework 4.x 38. Spring Annotation Programming Model 39. Classic Spring Usage 39.1. Classic ORM usage 39.1.1. Hibernate The HibernateTemplate Implementing Spring-based DAOs without callbacks 39.2. JMS Usage 39.2.1. JmsTemplate 39.2.2. Asynchronous Message Reception 39.2.3. Connections 39.2.4. Transaction Management 40. Classic Spring AOP Usage 40.1. Pointcut API in Spring 40.1.1. Concepts 40.1.2. Operations on pointcuts 40.1.3. AspectJ expression pointcuts 40.1.4. Convenience pointcut implementations Static pointcuts Dynamic pointcuts 40.1.5. Pointcut superclasses 40.1.6. Custom pointcuts 40.2. Advice API in Spring 40.2.1. Advice lifecycles 40.2.2. Advice types in Spring Interception around advice Before advice Throws advice After Returning advice Introduction advice 40.3. Advisor API in Spring 40.4. Using the ProxyFactoryBean to create AOP proxies 40.4.1. Basics 40.4.2. JavaBean properties 40.4.3. JDK- and CGLIB-based proxies 40.4.4. Proxying interfaces 40.4.5. Proxying classes 40.4.6. Using 'global' advisors 40.5. Concise proxy definitions 40.6. Creating AOP proxies programmatically with the ProxyFactory 40.7. Manipulating advised objects 40.8. Using the "autoproxy" facility 40.8.1. Autoproxy bean definitions BeanNameAutoProxyCreator DefaultAdvisorAutoProxyCreator AbstractAdvisorAutoProxyCreator 40.8.2. Using metadata-driven auto-proxying 40.9. Using TargetSources 40.9.1. Hot swappable target sources 40.9.2. Pooling target sources 40.9.3. Prototype target sources 40.9.4. ThreadLocal target sources 40.10. Defining new Advice types 40.11. Further resources 41. XML Schema-based configuration 41.1. Introduction 41.2. XML Schema-based configuration 41.2.1. Referencing the schemas 41.2.2. the util schema <util:constant/> <util:property-path/> <util:properties/> <util:list/> <util:map/> <util:set/> 41.2.3. the jee schema <jee:jndi-lookup/> (simple) <jee:jndi-lookup/> (with single JNDI environment setting) <jee:jndi-lookup/> (with multiple JNDI environment settings) <jee:jndi-lookup/> (complex) <jee:local-slsb/> (simple) <jee:local-slsb/> (complex) <jee:remote-slsb/> 41.2.4. the lang schema 41.2.5. the jms schema 41.2.6. the tx (transaction) schema 41.2.7. the aop schema 41.2.8. the context schema <property-placeholder/> <annotation-config/> <component-scan/> <load-time-weaver/> <spring-configured/> <mbean-export/> 41.2.9. the tool schema 41.2.10. the jdbc schema 41.2.11. the cache schema 41.2.12. the beans schema 42. Extensible XML authoring 42.1. Introduction 42.2. Authoring the schema 42.3. Coding a NamespaceHandler 42.4. BeanDefinitionParser 42.5. Registering the handler and the schema 42.5.1. 'META-INF/spring.handlers' 42.5.2. 'META-INF/spring.schemas' 42.6. Using a custom extension in your Spring XML configuration 42.7. Meatier examples 42.7.1. Nesting custom tags within custom tags 42.7.2. Custom attributes on 'normal' elements 42.8. Further Resources 43. spring JSP Tag Library 43.1. Introduction 43.2. The argument tag 43.3. The bind tag 43.4. The escapeBody tag 43.5. The eval tag 43.6. The hasBindErrors tag 43.7. The htmlEscape tag 43.8. The message tag 43.9. The nestedPath tag 43.10. The param tag 43.11. The theme tag 43.12. The transform tag 43.13. The url tag 44. spring-form JSP Tag Library 44.1. Introduction 44.2. The button tag 44.3. The checkbox tag 44.4. The checkboxes tag 44.5. The errors tag 44.6. The form tag 44.7. The hidden tag 44.8. The input tag 44.9. The label tag 44.10. The option tag 44.11. The options tag 44.12. The password tag 44.13. The radiobutton tag 44.14. The radiobuttons tag 44.15. The select tag 44.16. The textarea tag Part I. Overview of Spring Framework The Spring Framework is a lightweight solution and a potential one-stop-shop for building your enterprise-ready applications. However, Spring is modular, allowing you to use only those parts that you need, without having to bring in the rest. You can use the IoC container, with any web framework on top, but you can also use only the Hibernate integration code or the JDBC abstraction layer. The Spring Framework supports declarative transaction management, remote access to your logic through RMI or web services, and various options for persisting your data. It offers a full-featured MVC framework, and enables you to integrate AOP transparently into your software. Spring is designed to be non-intrusive, meaning that your domain logic code generally has no dependencies on the framework itself. In your integration layer (such as the data access layer), some dependencies on the data access technology and the Spring libraries will exist. However, it should be easy to isolate these dependencies from the rest of your code base. This document is a reference guide to Spring Framework features. If you have any requests, comments, or questions on this document, please post them on the user mailing list. Questions on the Framework itself should be asked on StackOverflow (see https://spring.io/questions). 1. Getting Started with Spring This reference guide provides detailed information about the Spring Framework. It provides comprehensive documentation for all features, as well as some background about the underlying concepts (such as "Dependency Injection") that Spring has embraced. If you are just getting started with Spring, you may want to begin using the Spring Framework by creating a Spring Boot based application. Spring Boot provides a quick (and opinionated) way to create a production-ready Spring based application. It is based on the Spring Framework, favors convention over configuration, and is designed to get you up and running as quickly as possible. You can use start.spring.io to generate a basic project or follow one of the "Getting Started" guides like the Getting Started Building a RESTful Web Service one. As well as being easier to digest, these guides are very task focused, and most of them are based on Spring Boot. They also cover other projects from the Spring portfolio that you might want to consider when solving a particular problem. 2. Introduction to the Spring Framework The Spring Framework is a Java platform that provides comprehensive infrastructure support for developing Java applications. Spring handles the infrastructure so you can focus on your application. Spring enables you to build applications from "plain old Java objects" (POJOs) and to apply enterprise services non-invasively to POJOs. This capability applies to the Java SE programming model and to full and partial Java EE. Examples of how you, as an application developer, can benefit from the Spring platform: Make a Java method execute in a database transaction without having to deal with transaction APIs. Make a local Java method a remote procedure without having to deal with remote APIs. Make a local Java method a management operation without having to deal with JMX APIs. Make a local Java method a message handler without having to deal with JMS APIs. 2.1 Dependency Injection and Inversion of Control A Java application — a loose term that runs the gamut from constrained, embedded applications to n-tier, server-side enterprise applications — typically consists of objects that collaborate to form the application proper. Thus the objects in an application have dependencies on each other. Although the Java platform provides a wealth of application development functionality, it lacks the means to organize the basic building blocks into a coherent whole, leaving that task to architects and developers. Although you can use design patterns such as Factory, Abstract Factory, Builder, Decorator, and Service Locator to compose the various classes and object instances that make up an application, these patterns are simply that: best practices given a name, with a description of what the pattern does, where to apply it, the problems it addresses, and so forth. Patterns are formalized best practices that you must implement yourself in your application. The Spring Framework Inversion of Control (IoC) component addresses this concern by providing a formalized means of composing disparate components into a fully working application ready for use. The Spring Framework codifies formalized design patterns as first-class objects that you can integrate into your own application(s). Numerous organizations and institutions use the Spring Framework in this manner to engineer robust, maintainable applications. Background "The question is, what aspect of control are [they] inverting?" Martin Fowler posed this question about Inversion of Control (IoC) on his site in 2004. Fowler suggested renaming the principle to make it more self-explanatory and came up with Dependency Injection. 2.2 Modules The Spring Framework consists of features organized into about 20 modules. These modules are grouped into Core Container, Data Access/Integration, Web, AOP (Aspect Oriented Programming), Instrumentation, Messaging, and Test, as shown in the following diagram. Figure 2.1. Overview of the Spring Framework spring overview The following sections list the available modules for each feature along with their artifact names and the topics they cover. Artifact names correlate to artifact IDs used in Dependency Management tools. 2.2.1 Core Container The Core Container consists of the spring-core, spring-beans, spring-context, spring-context-support, and spring-expression (Spring Expression Language) modules. The spring-core and spring-beans modules provide the fundamental parts of the framework, including the IoC and Dependency Injecti

2017-01-20

深入剖析Tomcat(How Tomcat Works中文版) PDF

《深入剖析Tomcat》深入剖析Tomcat 4和Tomcat 5中的每个组件,并揭示其内部工作原理。通过学习《深入剖析Tomcat》,你将可以自行开发Tomcat组件,或者扩展已有的组件。 Tomcat是目前比较流行的Web服务器之一。作为一个开源和小型的轻量级应用服务器,Tomcat 易于使用,便于部署,但Tomcat本身是一个非常复杂的系统,包含了很多功能模块。这些功能模块构成了Tomcat的核心结构。《深入剖析Tomcat》从最基本的HTTP请求开始,直至使用JMX技术管理Tomcat中的应用程序,逐一剖析Tomcat的基本功能模块,并配以示例代码,使读者可以逐步实现自己的Web服务器。

2017-01-20

毕向东HTML_CSS_JavaScript教程笔记

毕向东HTML_CSS_JavaScript教程笔记(视频配套pdf)

2017-01-20

autocomplete自动提示

autocomplete自动提示autocomplete自动提示autocomplete自动提示autocomplete自动提示autocomplete自动提示autocomplete自动提示autocomplete自动提示autocomplete自动提示autocomplete自动提示autocomplete自动提示autocomplete自动提示autocomplete自动提示autocomplete自动提示autocomplete自动提示

2018-01-09

bandicam套装.rar

bandicam套装.rarbandicam套装.rarbandicam套装.rarbandicam套装.rar

2018-01-07

day16_springboot_笔记

day16_springboot_笔记.docx day16_springboot_笔记.docx day16_springboot_笔记.docx day16_springboot_笔记.docx

2018-01-07

logback-0.9.24

参阅博客:http://blog.csdn.net/Love_Legain/article/details/73740429

2017-06-26

Mybatis自动代码生成

参阅博客:http://blog.csdn.net/Love_Legain/article/details/73729877

2017-06-25

DB2-Express-C快速入门.pdf

db2 express-c 快速入门pdf 第二版, 免积分下载

2017-04-26

130个win7快捷键.pdf

130个win7快捷键.pdf

2017-04-18

win7快捷键.pdf

win7快捷键.pdf

2017-04-18

windows的15个高效快捷键.pdf

windows的15个高效快捷键.pdf http://www.guidingtech.com/4535/windows-7-keyboard-shortcut/

2017-04-18

windows快捷键(微软官方).pdf

windows快捷键(微软官方).pdf

2017-04-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除