100% found this document useful (2 votes)
7 views

Spring MVC Cookbook 1st Edition Bretet Alex pdf download

The 'Spring MVC Cookbook' by Alex Bretet offers over 40 recipes for developing cloud-ready Java web applications using Spring MVC. It covers essential topics such as setting up an enterprise application, designing microservice architectures, building REST APIs, and implementing authentication and validation. The book is structured to guide readers through practical applications and modern development practices in Spring MVC.

Uploaded by

batorjukanils
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
7 views

Spring MVC Cookbook 1st Edition Bretet Alex pdf download

The 'Spring MVC Cookbook' by Alex Bretet offers over 40 recipes for developing cloud-ready Java web applications using Spring MVC. It covers essential topics such as setting up an enterprise application, designing microservice architectures, building REST APIs, and implementing authentication and validation. The book is structured to guide readers through practical applications and modern development practices in Spring MVC.

Uploaded by

batorjukanils
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Spring MVC Cookbook 1st Edition Bretet Alex

download

https://textbookfull.com/product/spring-mvc-cookbook-1st-edition-
bretet-alex/

Download more ebook from https://textbookfull.com


We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!

Spring Cookbook 1st Edition Jaglale Jerome

https://textbookfull.com/product/spring-cookbook-1st-edition-
jaglale-jerome/

Pro Spring MVC with WebFlux: Web Development in Spring


Framework 5 and Spring Boot 2 2nd Edition Marten Deinum

https://textbookfull.com/product/pro-spring-mvc-with-webflux-web-
development-in-spring-framework-5-and-spring-boot-2-2nd-edition-
marten-deinum/

Pro Spring MVC with WebFlux: Web Development in Spring


Framework 5 and Spring Boot 2 2nd Edition Marten Deinum

https://textbookfull.com/product/pro-spring-mvc-with-webflux-web-
development-in-spring-framework-5-and-spring-boot-2-2nd-edition-
marten-deinum-2/

Pro Spring MVC with WebFlux Web Development in Spring


Framework 5 and Spring Boot 2 Second Edition Marten
Deinum Iuliana Cosmina

https://textbookfull.com/product/pro-spring-mvc-with-webflux-web-
development-in-spring-framework-5-and-spring-boot-2-second-
edition-marten-deinum-iuliana-cosmina/
Quarkus Cookbook Kubernetes Optimized Java Solutions
1st Edition Alex Soto Bueno Jason Porter

https://textbookfull.com/product/quarkus-cookbook-kubernetes-
optimized-java-solutions-1st-edition-alex-soto-bueno-jason-
porter/

Quarkus Cookbook Kubernetes Optimized Java Solutions


1st Edition Alex Soto Bueno Jason Porter

https://textbookfull.com/product/quarkus-cookbook-kubernetes-
optimized-java-solutions-1st-edition-alex-soto-bueno-jason-
porter-2/

OAuth 2 0 Cookbook Protect Your Web Applications Using


Spring Security Nascimento

https://textbookfull.com/product/oauth-2-0-cookbook-protect-your-
web-applications-using-spring-security-nascimento/

Essential Docker for ASP.NET Core MVC 1st Edition Adam


Freeman

https://textbookfull.com/product/essential-docker-for-asp-net-
core-mvc-1st-edition-adam-freeman/

A Postcard from Paris Postcard 2 1st Edition Alex Brown


Brown Alex

https://textbookfull.com/product/a-postcard-from-paris-
postcard-2-1st-edition-alex-brown-brown-alex/
1
Spring MVC Cookbook

Over 40 recipes for creating cloud-ready Java web


applications with Spring MVC

Alex Bretet

BIRMINGHAM - MUMBAI
Spring MVC Cookbook

Copyright © 2016 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or
transmitted in any form or by any means, without the prior written permission of the publisher,
except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the
information presented. However, the information contained in this book is sold without
warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers
and distributors will be held liable for any damages caused or alleged to be caused directly or
indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies
and products mentioned in this book by the appropriate use of capitals. However, Packt
Publishing cannot guarantee the accuracy of this information.

First published: February 2016

Production reference: 1220216

Published by Packt Publishing Ltd.


Livery Place
35 Livery Street
Birmingham B3 2PB, UK.

ISBN 978-1-78439-641-1

www.packtpub.com
Credits

Author Project Coordinator


Alex Bretet Nikhil Nair

Reviewers Proofreader
Bartosz Kielczewski Safis Editing
David Mendoza
Indexer
Commissioning Editor Monica Ajmera Mehta
Amarabha Banerjee
Production Coordinator
Acquisition Editor Nilesh Mohite
Manish Nainani
Cover Work
Content Development Editor Nilesh Mohite
Mayur Pawanikar

Technical Editor
Pranjali Mistry

Copy Editor
Neha Vyas
About the Author

Alex Bretet is a certified Java and Spring Integration engineer. Currently working at
Thunderhead, a pioneer company and global actor among SaaS providers, he has a rich
developer background from different industries including energy, insurance, finance, and
the Internet.

Captivated by the Internet's communication capabilities and by start-ups, he believes in skunk


development outcomes (when groups of like-minded people together achieve unbelievable
targets on tight deadlines).

He also defends a number of open source initiatives and indeed Spring technologies,
whose pragmatism constantly disrupts the most established practices and offers valuable
alternatives for the benefit of all.

You can contact him at alex.bretet@gmail.com or follow him on Twitter at @abretet

I would like first to thank all the people who have been directly related to
this book, starting with all the reviewers, content development editors,
technical and acquisition editors.
My thoughts go to my French engineering school and all the people I've met
since then who have expressed and communicated their enthusiasm for the
technology.
I am very grateful for being able to work in the IT industry nowadays. Thank
you to all the elements around me that supported me going in this direction.
When my interest for this topic grew, I couldn't imagine making a career out
of it.
Writing this book has been a long project. I must mention my partner,
Helena, for her patience and support throughout these months; my family
and friends, who have been a source of encouragement; my dad, a source
of inspiration.
My best regards go to Packt Publishing for producing this book and
endorsing the project.
I acknowledge the expertise from the engineers at Pivotal Software, Inc. and
the Spring community, their approachable set of documentation and their
official references.
Finally, I want to thank you, who are reading these lines and have probably
purchased this book. I hope it will provide you help, spark, and Big Picture.
About the Reviewer

David Mendoza is a software engineer working on web development since 1999 with Java.
He started his journey with JSPs and Servlets, creating a custom web framework to later find
AppFuse, which introduced him to Spring and Struts. Then, he moved to Spring MVC and never
looked back. David has worked as a Java consultant in Mexico, the United States, Canada,
Venezuela, and Spain with companies such as ING Bank, Citi, and Telefonica. He is currently
working for Southwestern Adventist University, a private university south of Dallas, Texas,
where he's responsible for their entire web platform.
www.PacktPub.com

eBooks, discount offers, and more


Did you know that Packt offers eBook versions of every book published, with PDF and ePub
files available? You can upgrade to the eBook version at www.PacktPub.com and as a print
book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
customercare@packtpub.com for more details.

At www.PacktPub.com, you can also read a collection of free technical articles, sign up
for a range of free newsletters and receive exclusive discounts and offers on Packt books
and eBooks.
TM

https://www2.packtpub.com/books/subscription/packtlib

Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book
library. Here, you can search, access, and read Packt's entire library of books.

Why Subscribe?
ff Fully searchable across every book published by Packt
ff Copy and paste, print, and bookmark content
ff On demand and accessible via a web browser
Table of Contents
Preface iii
Chapter 1: Setup Routine for an Enterprise Spring Application 1
Introduction 1
Installing Eclipse for JEE Developers and Java SE 8 3
Configuring Eclipse for Java 8, Maven 3, and Tomcat 8 5
Defining the project structure with Maven 15
Installing Spring, Spring MVC, and a web structure 29
Chapter 2: Designing a Microservice Architecture with Spring MVC 41
Introduction 41
Configuring a controller with simple URL mapping 43
Configuring a fallback controller using ViewResolver 58
Setting up and customizing a responsive single page webdesign
with Bootstrap 63
Displaying a model in the View, using the JSTL 83
Defining a common WebContentInterceptor 94
Designing a client-side MVC pattern with AngularJS 101
Chapter 3: Working with Java Persistence and Entities 115
Introduction 115
Configuring the Java Persistence API in Spring 117
Defining useful EJB3 entities and relationships 121
Making use of the JPA and Spring Data JPA 133
Chapter 4: Building a REST API for a Stateless Architecture 141
Introduction 141
Binding requests and marshalling responses 142
Configuring content-negotiation (JSON, XML, and so on) 154
Adding pagination, filters, and sorting capabilities 159

i
Table of Contents
Handling exceptions globally 173
Documenting and exposing an API with Swagger 180
Chapter 5: Authenticating with Spring MVC 187
Introduction 187
Configuring Apache HTTP to proxy your Tomcat(s) 188
Adapting users and roles to Spring Security 197
Authenticating over a BASIC scheme 208
Authenticating with a third-party OAuth2 scheme 218
Storing credentials in a REST environment 237
Authorizing on services and controllers 247
Chapter 6: Implementing HATEOAS 263
Introduction 263
Turning DTOs into Spring HATEOAS resources 265
Building links for a hypermedia-driven API 273
Choosing a strategy to expose JPA Entities 282
Retrieving data from a third-party API with OAuth 289
Chapter 7: Developing CRUD Operations and Validations 297
Introduction 297
Extending REST handlers to all HTTP methods 298
Validating resources using bean validation support 311
Internationalizing messages and contents for REST 327
Validating client-side forms with HTML5 AngularJS 337
Chapter 8: Communicating Through WebSockets and STOMP 345
Introduction 345
Streaming social events with STOMP over SockJS 346
Using RabbitMQ as a multiprotocol message broker 360
Stacking and consuming tasks with RabbitMQ and AMQP 367
Securing messages with Spring Session and Redis 373
Chapter 9: Testing and Troubleshooting 393
Introduction 393
Automating Database Migrations with FlyWay 394
Unit testing with Mockito and Maven Surefire 400
Integration testing with Cargo, Rest-assured, and Maven failsafe 408
Injecting Spring Beans into integration tests 417
Modern application Logging with Log4j2 422
Index 431

ii
Preface
Welcome to the singular universe of Spring MVC Cookbook. We hope you are ready for this
journey that will take you through modern Spring web development practices. We have been
building the cloudstreetmarket.com , a stock exchange platform with social capabilities.
We are about to take you through each step of its development process.

What this book covers


Chapter 1, Setup Routine for an Enterprise Spring Application, introduces a set of practices
that are standard in the industry. From the configuration of an Eclipse IDE for optimized
support of Java 8, Tomcat 8, GIT and Maven, to a proper understanding of Maven as a build
automation tool and as a dependency management tool, you will learn how to deploy the
Spring Framework on a sustainable base in this chapter.

Whether a project is meant to become a massively profitable product or to remain a rewarding


experience, it should always begin with the same Enterprise-level patterns.

This chapter is more than a guide through the first development stage of the book's
application, Cloud Street Market. A bunch of standard practices are presented here as a
routine for developers toward enterprise Spring applications.

Chapter 2, Designing a Microservice Architecture with Spring MVC, is a slightly longer chapter.
It covers the core principles of Spring MVC, such as its request flow or the central role of
DispatcherServlet. It is also about learning how to configure Spring MVC controllers and
controller method-handlers with an extended source of information related to a controller's
annotations.

In the path of a Microservice architecture, we install Spring and Spring MVC across modules
and web projects to build functional units that are easy to deploy and easy to scale. In this
perspective, we are going to shape our application with a web module that is responsible for
serving a Twitter Bootstrap template along with another web module specialized in REST Web
Services.

iii
Preface

In this chapter, you also will learn how to transfer the model from controllers to JSP views
using the JSTL and how to design a JavaScript MVC pattern with AngularJS.

Chapter 3, Working with Java Persistence and Entities, gives you a glimpse of . It is necessary
at this stage to learn how persistent data can be handled in a Spring ecosystem and thus in a
Spring MVC application. We will see how to configure, a JPA persistence provider (Hibernate)
from dataSource and entityManagerFactory in Spring. You will learn how to build a beneficial JPA
object-relational mapping from EJB3 Entities and then how to query repositories using Spring
Data JPA.

Chapter 4, Building a REST API for a Stateless Architecture, provides insights into Spring MVC
as a REST Web Services engine. We will see the amazing support the Framework provides,
with several annotations acting as doorknobs on method-handlers to abstract web-related
logic and thus only focus on the business. This principle appears with annotations for request
binding (binding of parameters, URL paths, headers, and so on) and Response Marshalling
and also for integrated support of Spring Data pagination.

This chapter also presents how to set up exception handling as part of Spring MVC to translate
predefined exception-Types into generic error responses. You will understand how to configure
the content negotiation, an important bit for REST APIs, and finally, how to expose and
document REST Endpoints using Swagger and the Swagger UI.

Chapter 5, Authenticating with Spring MVC, presents how to configure an authentication on


controllers and services from standard protocols such as HTTP BASIC and OAuth2. You will
learn several concepts and practices related to Spring Security, such as the Filters chain, the
<http> namespace, the Authentication Manager, or the management of roles and users. Our
OAuth2 flow is a client implementation. We authenticate users in our application when they
are first authenticated with a third-party provider: Yahoo! These Yahoo! authentications and
connections are later used to pull fresh financial data from Yahoo! Finance. It will be very
interesting to see how the OAuth2 flow can be entirely abstracted, in the backend, with the
Spring Social library.

Chapter 6, Implementing HATEOAS, demonstrates how to take a RESTful Spring MVC API a
step further. A Hypermedia-driven application provides links along with every single requested
resource. These links reflect URLs of related resources. They provide to the user client
(whatever type of client it may be) real-time navigation options—precious documentation that
is also the actual implementation.

We will see how to build such links from JPA Entities associations or from the controller layer.

Chapter 7, Developing CRUD Operations and Validations, goes into the more advanced concepts
of Spring MVC. Presenting the tools and techniques that support interactive HTTP methods
(PUT, POST, and DELETE), we will lean on the HTTP1/1 specification (RFC 7231 Semantics and
Content) to learn how to return the appropriate response status code or headers.

Our use of the Spring Validator together with the ValidationUtils utility class provides a
compliant implementation of the validation-related JSR-303 and JSR-349 specifications.

iv
Preface

The last recipe is the place where an internationalization (I18N) of messages and content
happens. We also present a client-side implementation, with AngularJS, that relies on
published internationalization web services.

Chapter 8, Communicating Through WebSockets and STOMP, focuses on the uprising


WebSocket technology and on building Message-Oriented-Middleware for our application. This
chapter provides a rare showcase that implements so much about WebSockets in Spring. From
the use of the default embedded WebSocket message broker to a full-featured external broker
(with STOMP and AMQP protocols), we will see how to broadcast messages to multiple clients
and also how to defer the execution of time-consuming tasks with great scalability benefits.

You will learn how to dynamically create private queues and how to get authenticated clients
to post and receive messages from these private queues.

To achieve a WebSocket authentication and an authentication of messages, we will make


the API stateful. By stateful, understand that the API will use HTTP sessions to keep users
authenticated between their requests. With the support of Spring Session and the highly
clusterable Redis server, sessions will be shared across multiple web apps.

Chapter 9, Testing and Troubleshooting, introduces a set of tools and common practices to
maintain, debug, and improve an application's state. As a way of finishing this journey, we will
visit how to upgrade the database schema from one version of the application to another as
part of the Maven builds with the Flyway Maven Plugin. We will also go through how to write
and automate unit tests (with Maven Surefire and Mockito) and integration tests (using a set
of libraries such as Cargo, Rest-assured, and Maven Failsafe).

The last recipe provides insightful guidelines in order to apply Log4j2 globally as a logging
framework, as it is more than important to rely on a relevant logging solution to troubleshoot
efficiently, whichever environment we may be on.

What you need for this book


The hardware and software list details the requirements for each chapter. Before everything,
an Internet connection is necessary because many external references will be pointed out as
links (URLs) and software will need to be downloaded.

Also, and even more importantly, you will see that we use the Git versioning system to manage
(and work from) the codebase for each chapter. Your local Git repository will correspond to
the remote repository for the project (on GitHub), and you will be required to reach out to this
remote repository.

To rephrase the hardware and software list, we will support three operating systems
throughout the book: MS Windows, Linux, and Mac OS X.

For hardware, we recommend a modern, well-equipped workstation with at least 2 GB of RAM


and 500 MB of free space on the hard drive.

v
Preface

Who this book is for


While writing this book, one of our objectives has been to remain as approachable as possible
while providing the widest possible overview of modern web development practices.

We believed that most of you, with an interest in a cookbook about Spring MVC, are primarily
looking for a starter kit and a toolbox to develop modern Spring-based web applications.

We also believed that most of you would tend to prefer conceptualizing from experience
and not from theory. Nowadays, it is clear that people have different mindsets and learning
preferences.

Under this light, chapters will have increasing exigence levels one after the other, from
the intuitive Chapter 1, Setup Routine for an Enterprise Spring Application, to the more
challenging Chapter 8, Communicating Through WebSockets and STOMP. The initial few
chapters will definitely suit a broader audience of Java developers than the final ones.

Having said this, we have everything in this book! The prerequisites here are mostly pointing
to external sources of information. And our showcase application is running and waiting for
you to dive into it and understand how things work.

More generally, we assume you to be a Java developer with prior web experience. Beyond
everything, we expect you to have a motivated interest in learning Spring web technologies.

Sections
In this book, you will find several headings that appear frequently (Getting ready, How to do it,
How it works, There's more, and See also).

To give clear instructions on how to complete a recipe, we use these sections as follows:

Getting ready
This section tells you what to expect in the recipe, and describes how to set up any software or
any preliminary settings required for the recipe.

How to do it…
This section contains the steps required to follow the recipe.

How it works…
This section usually consists of a detailed explanation of what happened in the previous
section.

vi
Preface

There's more…
This section consists of additional information about the recipe in order to make the reader
more knowledgeable about the recipe.

See also
This section provides helpful links to other useful information for the recipe.

Conventions
In this book, you will find a number of text styles that distinguish between different kinds of
information. Here are some examples of these styles and an explanation of their meaning.

Code words in text, database table names, folder names, filenames, file extensions,
pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "We are going
to review the configuration changes applied to the cloudstreetmarket-api webapp in
order to set up a type conversion".

A block of code is set as follows:


<bean id="conversionService" class="org.sfw.format.
support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="edu.zc.csm.core.
converters.StringToStockProduct"/>
</list>
</property>
</bean>

New terms and important words are shown in bold. Words that you see on the screen,
for example, in menus or dialog boxes, appear in the text like this: "Then select Add and
Remove… from the right-click menu."

Warnings or important notes appear in a box like this.

Tips and tricks appear like this.

vii
Preface

Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this
book—what you liked or disliked. Reader feedback is important for us as it helps us develop
titles that you will really get the most out of.

To send us general feedback, simply e-mail feedback@packtpub.com, and mention the


book's title in the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing or
contributing to a book, see our author guide at www.packtpub.com/authors.

The showcase application: CloudStreet


Market
We enjoyed building CloudStreet Market for you. It will remain an OpenSource GPL v3 piece
of software. cloudstreetmarket.com will serve to directly or indirectly promote the book.

The master branch will probably continue to evolve but the chapters' branches will always
match the book.

Feel absolutely free to fork the repository for whichever reason you might have. We also
welcome Pull Requests, if you feel things could be made differently. Also, a big amount of
tests are yet to be added.

The Git repository is hosted on GitHub at the following address:

https://github.com/alex-bretet/cloudstreetmarket.com

Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you to
get the most from your purchase.

Downloading the example code


You can download the example code files from your account at http://www.packtpub.com
for all the Packt Publishing books you have purchased. If you purchased this book elsewhere,
you can visit http://www.packtpub.com/support and register to have the files e-mailed
directly to you.

viii
Preface

Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do happen.
If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be
grateful if you could report this to us. By doing so, you can save other readers from frustration
and help us improve subsequent versions of this book. If you find any errata, please report them
by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on
the Errata Submission Form link, and entering the details of your errata. Once your errata are
verified, your submission will be accepted and the errata will be uploaded to our website or
added to any list of existing errata under the Errata section of that title.

To view the previously submitted errata, go to https://www.packtpub.com/books/


content/support and enter the name of the book in the search field. The required
information will appear under the Errata section.

Piracy
Piracy of copyrighted material on the Internet is an ongoing problem across all media. At
Packt, we take the protection of our copyright and licenses very seriously. If you come across
any illegal copies of our works in any form on the Internet, please provide us with the location
address or website name immediately so that we can pursue a remedy.

Please contact us at copyright@packtpub.com with a link to the suspected pirated


material.

We appreciate your help in protecting our authors and our ability to bring you valuable
content.

Questions
If you have a problem with any aspect of this book, you can contact us at questions@
packtpub.com, and we will do our best to address the problem.

ix
Setup Routine for an
1
Enterprise Spring
Application
The topics covered in this chapter correspond to this four-step routine:

ff Installing Eclipse for JEE developers and Java SE 8


ff Configuring Eclipse for Java SE 8, Maven 3, and Tomcat 8
ff Defining the project structure with Maven
ff Installing Spring, Spring MVC, and a web structure

Introduction
Before we dive into this routine for initializing the developments, we are going to answer, as an
introduction, a couple of questions that should help you understand the routine better.

Remember that the result of this chapter will also constitute the minimal starting point for all
the further chapters.

Let's do it with fun!


Throughout this book, we will be acting on behalf of the ZipCloud
company. ZipCloud aims to build different products in the social
and financial industry. We are going to build the first product of the
company: cloudstreetmarket.com which will be a wonderful
stock exchange platform with social capabilities. This project must be
an optimal beginning for this little ZipCloud start-up!

1
Setup Routine for an Enterprise Spring Application

Why such a routine?


Whatever your initial objectives may be, it is necessary to make sure that the design will not
suffer from early stage failures. This routine should cover you against this risk.

The idea beyond the routine itself is to share a bootstrap methodology to kick off the project
base that you need now and that will support your needs tomorrow. The routine is also a key
to drive your product thoughts toward a sustainable architecture which will be easy to refactor
and to maintain.

Setting up a new project for an enterprise-level architecture will not kill the excitement
and creativity!

Why making use of the Eclipse IDE?


There is competition in the domain, but Eclipse is popular among the Java community for being
an active open source solution; it is consequently accessible online to anyone with no restrictions.
It also provides, among other usages, a very good support for web implementations and
particularly to MVC web implementations.

Why making use of Maven?


Maven is a software project management and comprehension tool. It is an open source
project supported by the Apache community and the Apache Software Foundation. For nearly
10 years, Maven has given massive benefits. It has also shaped a standard structure for Java
projects. With its Project Object Model (POM) approach, it provides, to anyone and potentially
to any third-party software, a uniform and radical way of understanding and building a Java
project hierarchy with all its dependencies.

In early stage architectures, it is critical to consider the following decisions:

ff Opening the project definition to potentially different development environments and


continuous integration tools
ff Monitoring the dependencies and maybe securing their access
ff Imposing a uniform directory structure within the project hierarchy
ff Building a self-tested software with self-tested components

Choosing Maven secures these points and fulfills our project's need to make our project
reusable, secure, and testable (under automation).

2
Chapter 1

What does the Spring Framework bring?


The Spring Framework and its community have contributed to pulling forward the Java
platform for more than a decade. Presenting the whole framework in detail would require
us to write more than a book. However, the core functionality based on the principles of
Inversion of Control (IOC) and Dependency Injection (DI) through a performant access to the
bean repository allows considerable reusability. Staying lightweight, it secures great scaling
capabilities and could probably suit all modern architectures.

Installing Eclipse for JEE Developers and


Java SE 8
The following recipe is about downloading and installing the Eclipse IDE for JEE developers
and downloading and installing JDK 8 Oracle Hotspot.

Getting ready
This first recipe could appear redundant or unnecessary in regard to your education or
experience. However, having a uniform configuration all along this book will provide you with
many benefits.

For instance, you will certainly avoid unidentified bugs (integration or development). You will
also experience the same interfaces as seen in the presented screenshots. Also, because
the third-party products are living, you will not have the surprise of encountering unexpected
screens or windows.

How to do it...
The whole first chapter in general requires a step by step cooperation. From the next chapter,
we will be using GIT and your active involvement will be lightened.

1. Download a distribution of the Eclipse IDE for Java EE developers:


‰‰ We will be using an Eclipse Luna distribution in this book. We recommend
that you install this version in order to match our guidelines and screenshots
completely. Download a Luna distribution for the OS and environment of
your choice from https://www.eclipse.org/downloads/packages/
eclipse-ide-java-ee-developers/lunasr1.

The product to download is not a compiled installer but a zip archive.

‰‰ If you feel confident enough to use another version (more recent) of


the Eclipse IDE for Java EE Developers, all of them can be found at
https://www.eclipse.org/downloads.

3
Setup Routine for an Enterprise Spring Application

For upcoming installations, on Windows, a few target locations are


suggested to be in the root directory (C:\). To avoid permission-
related issues, it would be better if your Windows user is configured
to be a Local Administrator. If you can't be part of this group, feel
free to target installation directories you have write access to.

2. Extract the downloaded archive into an eclipse directory from the steps:
‰‰ C:\Users\{system.username}\eclipse: Extract it here if you are
on Windows
‰‰ /home/usr/{system.username}/eclipse: Extract it here if you are
on Linux
‰‰ /Users/{system.username}/eclipse: Extract it here if you are on
Mac OS X

3. Select and download JDK 8:


‰‰ We suggest that you download the Oracle Hotspot JDK. Hotspot is a
performant JVM implementation originally built by Sun Microsystems. Now
owned by Oracle, the Hotspot JRE and JDK are downloadable for free.
‰‰ Then, choose the product corresponding to your machine through the Oracle
website's link http://www.oracle.com/technetwork/java/javase/
downloads/jdk8-downloads-2133151.html.

To avoid a compatibility issue later on, do stay consistent with


the architecture choice (32 or 64 bits) that you have made
earlier for the Eclipse archive.

4. Install JDK 8 on the operating system of your choice using the following instructions:
On Windows, this is a monitored installation initiated with an executable file:
1. Execute the downloaded file and wait until you reach the next installation step
2. On the installation-step window, pay attention to the destination directory
and change it to C:\java\jdk1.8.X_XX (X_XX refers to the latest current
version here. We will be using jdk1.8.0_25 in this book. Also, it won't be
necessary to install an external JRE, so uncheck the public JRE feature.)

On Linux/Mac, perform the following steps:

1. Download the tar.gz archive corresponding to your environment


2. Change the current directory to where you want to install Java. For easier
instructions, let's agree on the /usr/java directory
3. Move the downloaded tar.gz archive to this current directory

4
Chapter 1

4. Unpack the archive with the following command line targeting the name of
your archive: tar zxvf jdk-8u25-linux-i586.tar.gz (this example is
for a binary archive corresponding to a Linux x86 machine)

You must end up with the /usr/java/jdk1.8.0_25 directory structure that contains the
/bin, /db, /jre, /include subdirectories.

How it works…
In this section we are going to provide more insights about the version of Eclipse we used and
about how we chose this specific version of JVM.

Eclipse for Java EE developers


We have successfully installed the Eclipse IDE for Java EE developers here. Comparatively
to Eclipse IDE for Java Developers, there are some additional packages coming along such
as Java EE Developer Tools, Data Tools Platform, and JavaScript Development Tools. This
version is appreciated for its ability to manage development servers as part of the IDE itself,
its capability to customize project facets, and its ability to support JPA. The Luna version is
officially Java SE 8 compatible; this has been a decisive factor at the time of writing.

Choosing a JVM
The choice of the JVM implementation could be discussed over performance, memory
management, garbage collection, and optimization capabilities.
There are lots of different JVM implementations, including couple of open source solutions
such as OpenJDK and IcedTea (RedHat). The choice of JVM really depends on the
application's requirements. We have chosen Oracle Hotspot from experience and from
reference implementations deployed in production; this JVM implementation can be trusted
for a wide range of generic purposes. Hotspot also behaves very well if you have to run Java UI
applications. Eclipse is one of them.

Java SE 8
If you haven't already played with Scala or Clojure, it is time that you took the functional
programming train with Java! With Java SE 8, Lambda expressions reduce the amount of code
dramatically providing improved readability and maintainability. We won't implement this Java 8
feature, but since it is probably the most popular, it must be highlighted as it has given a massive
credit to the paradigm change. It is important, nowadays, to be familiar with these patterns.

Configuring Eclipse for Java 8, Maven 3, and


Tomcat 8
This recipe entails configuration technics to develop efficiently on Eclipse with Java, Maven,
and Tomcat.
5
Setup Routine for an Enterprise Spring Application

Getting ready
Once the different products are installed, there are a couple of steps that we need to follow,
mainly to make Eclipse work properly with Java SE 8, Maven 3, and Tomcat 8. In this recipe,
we will also look at how to customize the Eclipse configuration file (Eclipse.ini) in order
to make the most of the platform that runs Java and to make sure that it will cope with any
significant growth of the application.

How to do it...
Let's take a look at the following steps to configure Eclipse on your desktop:

1. You can start by creating a shortcut on your desktop to point to the Eclipse
executable:
‰‰ On Windows, the executable file is Eclipse.exe and is located at the
eclipse directory root
‰‰ On Linux/Mac, the file is named Eclipse and is also is located at the
eclipse directory root

2. Then, we need to customize the eclipse.ini file:


In the Eclipse directory, where you have previously extracted the Eclipse archive, you
can find the eclipse.ini file. It is a text file that contains a few command-line
options in order to control the Eclipse startup.

‰‰ The Eclipse community recommends to specify the path to our JVM here.
Hence, depending on your system, add the following two lines at the top of
the file:

For Windows, add the following:


-vm
C:\java\jdk1.8.0_25\jre\bin\server\jvm.dll

For Linux/Mac, add this:


-vm
/usr/java/jdk1.8.0_25/jre/lib/{your.architecture}/server/libjvm.so

The following is an optional setting that you can consider:


‰‰ If your development machine has at least 2 GB of RAM, you can enter the
following options to make Eclipse run faster than the default settings. This
section is optional because Eclipse's default settings are already optimized
to suit most users' environment:

-vmargs
-Xms128m
6
Chapter 1
-Xmx512m
-Xverify:none
-Dosgi.requiredJavaVersion=1.6
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing

If your machine has less than 2 GB of RAM, you can still enter this set of options
without overriding the default –Xms and –Xmx arguments.

All the options under -vmargs are arguments that will be


passed to the JVM at startup. It is important not to mess
up the Eclipse options (the top part of the file) with the VM
arguments (the bottom part).

3. After this we will go through the following steps to start Eclipse and set the
workspace:
Launch the executable described in the Step 2.
‰‰ For our project, specify the path: <home-directory>/workspace
This path is different for each Operating System:

‰‰ C:\Users\{system.username}\workspace: This is the path


on Windows
‰‰ /home/usr/{system.username}/workspace: This is on Linux
‰‰ /Users/{system.username}/workspace: This is on Mac OS
‰‰ Click on OK and let the Eclipse program start

The workspace is the place from where you manage your Java
projects. It can be specific to one application, but not necessarily.

4. Then, we need to check the JRE definitions:


Here, a couple of settings need to be verified in Eclipse:
1. Open the Preferences menu under Window (on Mac OS X the Preference
menu is under the Eclipse menu).
2. In the navigation panel on the left-hand side, open the Java hierarchy and
click on Installed JREs under Java.
3. On the central screen, remove any existing JREs that you may already have.
4. Click on the Add… button to add a standard JVM.
7
Setup Routine for an Enterprise Spring Application

5. Enter C:\java\jdk1.8.0_25 (or /usr/java/...) as JRE home.


6. And enter jdk1.8.0_25 as JRE name.

We tell Eclipse to use the Java Runtime Environment of JDK 8.

After completing these steps, you should end up with the following configuration:

5. Now, we will check the compiler compliance level:


1. In the navigation panel, click on Compiler under Java.
2. Check that the Compiler compliance level is set to 1.8 in the drop-down list.

6. After this, we need to check the Maven configuration:


1. Still in the navigation panel of the Preferences menu, open the Maven
hierarchy and navigate to Maven | Installations.
2. We will specify here which Maven installation we plan to use. For the purpose
of this book, the embedded Maven will be perfect.
3. Back in the navigation panel, go to Maven | User Settings.
4. Set the local repository to <home-directory>/.m2/repository.

In this local repository, our local cached versions of the required


artefacts will reside. It will prevent our environment from having to
download them on each build.

5. For the User Settings field, create a settings.xml file in the .m2
directory: <home-directory>/.m2/settings.xml.

8
Chapter 1

6. Edit the settings.xml file and add the following block:


(You can also copy/paste it from the chapter_1/source_code/.m2
directory):
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0
http://maven.apache.org/xsd/settings-1.1.0.xsd">
<profiles>
<profile>
<id>compiler</id>
<properties>
<JAVA_HOME>C:\java\jdk1.8.0_25</JAVA_HOME>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>compiler</activeProfile>
</activeProfiles>
</settings>

If you are not on a Windows machine, change JAVA_HOME


in this file to your JDK installation directory (/usr/java/
jdk1.8.0_25).

7. Go back to the navigation panel and click on Maven. Follow the configuration
given in this screenshot:

8. Click on OK to save these configuration changes.

9
Setup Routine for an Enterprise Spring Application

7. Now we will install Tomcat 8 in the Eclipse IDE. For this, go through these steps:
1. Download a ZIP archive for the latest Core version of Tomcat8 from the
Tomcat website: http://tomcat.apache.org/download-80.cgi.
2. Extract the downloaded archive to the following directory:
‰‰ On Windows, extract the archive at C:\tomcat8
‰‰ On Linux, extract the archive at /home/usr/{system.username}/
tomcat8
‰‰ On Mac OS X, extract the archive at /Users/{system.username}/
tomcat8

Depending on your system, you must be able to access the bin


directory from the hierarchy: C:\tomcat8\bin, /home/
usr/{system.username}/tomcat8/bin or /Users/
{system.username}/tomcat8/bin.

3. In Eclipse, select the Preferences menu under Windows, and in the


navigation panel on the left-hand side, open the Server hierarchy and then
select Runtime Environments.
4. On the central window, click on the Add… button.
5. In the next step (the New Server environment window), navigate to Apache |
Apache Tomcat v8.0.
6. Also, check this option: Create a New Local Server.
7. Click on the Next button.

8. Fill in the details in the window as shown in the following screenshot:

10
Random documents with unrelated
content Scribd suggests to you:
conséquences, maintenant dévoilées, de la philosophie qui les a
également asservis!

Car tel est le but, sinon atteint, du moins visé, du nouvel ouvrage de
Rémusat. Maintenir le fondement de la philosophie rationaliste, de
cette philosophie qui n'est pas autre chose que le protestantisme en
métaphysique, mais échapper aux conséquences panthéistiques de
cette philosophie, devant lesquelles le monde, plus chrétien encore
qu'il ne pense, se cabre encore avec effroi, tel est le but que s'est
proposé Rémusat dans sa monographie intellectuelle de saint
Anselme. Pourquoi s'est-il donné un pareil but? A-t-il tremblé, dans
sa conscience logique ou dans sa conscience morale, en voyant les
conséquences terribles dégagées enfin de ce qu'il crut la vérité si
longtemps? Est-ce la chose en soi qui l'a révolté, ou l'effet actuel de
cette chose sur le monde qui lui a paru compromettant? Nous
n'avons point à faire un travail d'Hercule en sondant les reins ou le
cœur des philosophes, ces étables d'Augias humaines. Mais toujours
est-il que ce but impossible d'une charte taillée entre un principe et
sa conclusion, Rémusat se l'est donné. Très au courant du
mouvement d'idées qui s'est produit du côté du Rhin, et modifié par
ces idées, c'est par l'Allemagne et sur les pas de l'Allemagne qu'il est
entré dans l'étude du moyen âge et de la scolastique. Mauvaise
porte et mauvais guide pour y pénétrer! Ce n'est pas l'instinct de la
pensée chrétienne qui l'a poussé de ce côté et qui l'a fait aller
d'Abélard, de l'hérétique Abélard, jusqu'à l'orthodoxe Anselme.
L'Allemagne, curieuse comme si elle n'avait pas d'idées à elle, et
personnelle au point de chercher ses idées partout, l'Allemagne
depuis longtemps cherchait l'or que Leibnitz avait dit briller dans le
fumier du moyen âge. Elle l'avait trouvé; mais en mettant la main
dessus, comme Galatée touchant Pygmalion, elle avait dit: «C'est
moi encore!» Rémusat, plus ou moins hegelien, avait pu lire dans
Hegel: «Anselme, dans son célèbre argument de l'existence de Dieu,
montra, le premier, la pensée dans son opposition à l'être et chercha
à en prouver l'identité.» Après un pareil hommage rendu par le
grand théoricien de l'identité de la pensée et de l'être, qui semblait
reconnaître dans le saint métaphysicien une paternité éloignée,
comment ne pas se préoccuper de cet homme, qui, quoique saint,
avait été philosophe, et qui, par Descartes, touchait à Hegel?
Rémusat a beau nous dire, avec une intention qui ne trompe
personne: «Descartes ne serait pas aisément convenu que saint
Anselme fut un de ses maîtres», tout ce qui s'occupe de philosophie
n'en sait pas moins que l'argument de saint Anselme sur l'existence
de Dieu (et l'existence de Dieu c'est toutes les questions de la
philosophie dans une seule) est le même dans le Monologium que
dans les Méditations. Par la nature de son esprit, par la prétention
de son système, par l'isolante force ou faiblesse de son principe: «Je
pense, donc je suis,» Descartes est l'orgueil de la personnalité
solitaire. Avec la hache de son scepticisme il a coupé tous les câbles
qui attachent la pensée humaine à la tradition. Robinson intellectuel
d'un désert qu'il a fait autour de sa propre pensée, il a voulu créer
tout dans le vide qu'il avait creusé. Il est évident qu'un tel homme
n'admet ni ancêtres ni prédécesseurs; mais il n'est pas moins
évident non plus que si la parenté n'est pas reconnue par la volonté
elle subsiste dans la pensée, car si elle n'y était pas, croyez-le bien!
les philosophes modernes, plus ou moins issus de Descartes,
auraient laissé bien tranquille dans sa niche de saint le grand
Anselme de Cantorbéry, et ne lui auraient pas fait cette gloire
posthume qu'ils se sont mis à lui faire, moins pour lui encore que
pour eux!

Et, en effet, au simple point de vue de la tactique, après toutes les


injustices et toutes les ignorances du XVIIIe siècle, n'était-il pas
habile et spirituel tout ensemble d'enrégimenter jusqu'aux saints
sous la bannière de la philosophie? Mais nous irons plus loin. Si ce
n'était pas là une simple tactique, s'il était vrai, s'il était réel, que la
métaphysique d'un saint, et, par exemple, de saint Anselme, eût des
racines secrètes, inévitables, nécessaires avec toute cette
métaphysique transcendante qui doit un jour remplacer, par la clarté
de l'idée pure, le demi-jour des religions, une telle analogie, une
telle rencontre ne serait-elle pas encore meilleure à montrer, à
démontrer, à proclamer de toutes les manières possibles, comme
une de ces preuves, grosses de bien d'autres, qu'on jette dans les
esprits déducteurs et qui y doivent devenir fécondes? Quand un
théologien protestant comme Hasse, quand un hegelien nettement
accusé comme Franck, quand un rationaliste comme Bouchitté,
quand enfin Rémusat, prennent à partie la métaphysique de saint
Anselme, la commentent tour à tour et l'interprètent, ils savent bien
ce qu'ils font et ils font bien. Il faut être assez impartial pour le
reconnaître. Ni les efforts de Mœhler, le théologien catholique qui
s'est occupé, dans un autre but, de la métaphysique de l'illustre
archevêque, ni les petites chicanes d'une revue estimable (la Revue
de Louvain), qui prétendait et montrait plaisamment un jour que
Rémusat n'entendait pas même le latin du texte qu'il traduisait, ne
nous feront perdre de vue la vérité dans cette question de la
métaphysique de saint Anselme. Or, la vérité, la voici! C'est que saint
Anselme, par cela même qu'il se détournait de la théologie vers la
métaphysique, posait au XIe siècle, dans l'innocence et la sécurité de
sa foi, les problèmes que la métaphysique agite depuis qu'elle existe
sans les résoudre, et que, les posant nécessairement comme les
métaphysiciens les posent, il était justiciable des métaphysiciens, et
qu'ils ont eu parfaitement le droit de dire comme ils l'ont dit dans
quelle mesure ils admettaient sa pensée et dans quelle mesure ils ne
l'admettaient pas. Ainsi, pour revenir à Hegel, Hegel a eu le droit
d'écrire cette arrogante réserve: «Il ne manque à l'argument de
saint Anselme que la conscience de l'unité de l'être et de la pensée
dans l'infini», et Rémusat a eu le droit aussi, à la fin de son ouvrage,
de reprendre l'argument du Prologium afin de le purifier de tout
spinozisme et de lui donner cette valeur philosophique que nous
avons indiquée, et qui serait si grande si elle n'était pas chimérique,
à savoir: le rationalisme du principe sans le panthéisme de la
déduction!

Mais si Rémusat a eu le droit d'agir ainsi dans son interprétation de


la métaphysique de saint Anselme, a-t-il réussi? Et il y a plus:
pouvait-il même réussir? Ce n'est pas assurément en passant qu'on
peut traiter comme il le faudrait de la vérité absolue ou relative de
toute philosophie, de cette science qui n'en est pas une, car elle se
cherche éternellement sans se trouver. Seulement, pour tous ceux
qui ont touché à ces questions dévorantes, on sera suffisamment
fondé à affirmer que ce n'est pas la métaphysique, qu'elle s'appelle
des plus beaux noms que le génie ait eus dans l'histoire, qui peut
combler l'abîme existant entre l'homme et Dieu et tracer pour
l'homme un chemin au-dessus de ce gouffre. Nous avons dit plus
haut: Toute philosophie gît dans une seule question: l'existence de
Dieu en face de l'existence du monde. Et il serait aisé de montrer
que quelque solution qu'on adopte sur cette question,—et toutes
peuvent se ramener à deux principales,—en d'autres termes, soit
que Dieu et la matière soient congénères, soit que Dieu l'ait tirée de
lui-même, le panthéisme inévitable et menaçant revient toujours. Eh
bien, si tel est le résultat que donne la réflexion de l'homme livrée à
elle-même sur ce problème fondamental, il n'y a plus qu'à repousser
loin de soi la métaphysique comme chose vaine, tout au moins,
quand elle n'est pas dangereuse, et à revenir à l'enseignement, à
l'autorité, à la révélation surnaturelle, à tout ce que la philosophie
appelle dédaigneusement le mysticisme; car le mysticisme seul est
assez fort pour répondre quand le rationalisme reste muet! En se
limitant dans l'ordre des choses naturelles, la science de Dieu
n'existe pas à proprement parler; car pour qu'une science soit, il faut
en connaître tous les termes, et Dieu, c'est le terme infini. Mais la
croyance en Dieu scientifiquement doit être, parce que si cette
croyance n'était pas, aucune explication ne serait possible, et que
rien de ce qui ne serait pas Dieu ne s'entendrait. Quand saint
Anselme posait l'argument purement métaphysique, le théologien, le
moine inspiré lâchait donc la réalité pour courir après l'ombre. Il
entrait dans le domaine des discussions humaines, fatalement
entrecoupées de ténèbres et de lueurs flottantes, et il y apportait
son génie. S'il n'ébranla pas en lui les robustes certitudes de sa foi,
c'est que le saint préservait l'homme des doutes du métaphysicien;
mais si le danger ne fut pas pour lui, il est pour d'autres, à cette
heure et dans un siècle où l'obéissance en toutes choses cherche
vainement des saint Anselme, qui foulent aux pieds leur propre
pensée lorsqu'il s'agit d'obéir.
Ainsi le saint, l'homme de la foi et de l'obéissance, voilà le grand
côté de saint Anselme, qu'un historien qui n'eût pas été philosophe
aurait fortement éclairé. Si Rémusat s'en était tenu, pour les besoins
d'une cause qui est la sienne, à un commentaire sur les dissertations
métaphysiques du grand abbé du Bec, nous n'aurions rien à ajouter
à ce que nous avons dit de ce commentaire. Mais Rémusat n'a pas
seulement été philosophe dans son livre; il a essayé d'être historien.
Il n'a pas écrit une biographie intellectuelle du penseur et replacé,
après coup, les idées de l'homme sous le jeu de ses facultés, bien
étudiées et par l'étude redevenues vivantes, pour voir comment ces
idées s'étaient formées, développées et fixées dans l'action et sous
la pression de ces facultés. Il n'a pas fait pour saint Anselme ce que
Maine de Biran a fait pour Leibnitz. Non. Il a aimé mieux prendre
l'homme tout entier, dans le multiple ensemble de sa vie, et à sa
place dans tous les événements de son temps, et il a écrit un
ouvrage qui n'a pas pour titre unique le nom d'Anselme et qui est
aussi le tableau de la vie monastique et politique au XIe siècle. En
cela Rémusat a eu raison. On ne saurait blâmer sa méthode. Il a
cédé à un instinct juste. Si, du temps de Leibnitz, en effet, et après
Leibnitz surtout, l'homme se spécialise chaque jour davantage et
peut s'abstraire de tout ce qui n'est pas sa pensée et le mouvement
extérieur de sa pensée, il n'en était point ainsi au moyen âge, où la
société tenait bien plus d'espace que l'homme,—mère aux bras
puissants dans lesquels l'homme se tassait, et, si grand qu'il fût,
paraissait petit! Mais si Rémusat a eu raison d'écrire l'histoire du
temps de saint Anselme pour mieux comprendre saint Anselme,
peut-on avouer qu'il l'ait compris? Franchement, quand on a lu
attentivement son travail, peut-on dire que le métaphysicien, avec
les grêles propositions de son analyse habituelle, ait vu réellement
ce mâle XIe siècle, qui demanderait tant de vigueur de génie et de
largeur d'appréciation? Non! certainement! Parler des hommes et
des choses d'une époque avec cette politesse qui est l'uniforme des
hommes d'État et un uniforme qui ne cache pas une bravoure, avec
ce respect des faits accomplis qui est le caractère de l'école dont
Rémusat est sorti, n'est pas plus comprendre cette époque que
toucher un objet avec l'extrémité des doigts n'est le saisir et le
soulever!

Saint Anselme vivait dans un temps où le catholicisme n'était plus


seulement un ensemble de nobles et pieuses aspirations vers le bien
et vers le ciel. Hildebrand, ou Grégoire VII (car il est si grand, cet
homme, que la gloire le connaît sous tous ses noms), avait fait du
catholicisme le plus organisé des gouvernements. Du temps
d'Anselme également, les Croisades avaient opéré le rapprochement
des tendances religieuses de l'Europe et de son premier intérêt
terrestre. Grâce à cette théocratie que Rémusat condamne dans son
livre, par la raison très philosophique que l'opinion de l'Europe
moderne, qui a la tête déformée par les philosophes, lui est en ce
moment hostile, l'influence du monde chrétien avait pris le monde
musulman et pénétré l'Asie et l'Afrique. C'étaient là des faits
prodigieux! Une individualité aussi élevée que celle de saint Anselme
devait se rattacher à ces faits, et elle s'y rattachait, non pas en vertu
de son génie qui l'antidatait de plusieurs siècles, mais en vertu de
ses vertus. Saint Anselme était lié au grand et décisif mouvement du
progrès catholique par ce qui se nomme, entre chrétiens, la sainte
vertu de l'obéissance. Chassé de son palais épiscopal, dans les
troubles religieux et politiques de son pays, saint Anselme ne se
consola pas seulement de ce revers: il fut heureux de ne plus être
désormais condamné à commander aux autres. Pour s'exercer,
gymnastique sublime! à cette vertu si profondément sociale de
l'obéissance, saint Anselme, respecté par le pape, saint Anselme, le
primat d'Angleterre, prit un simple moine pour maître, et, le croirez-
vous, esprits de nos jours? ce moine lui prescrivait le nombre de fois
qu'il devait se retourner dans son lit. Rémusat a trop d'esprit pour
insulter à cette surhumaine humilité, que Voltaire aurait traitée...
nous savons comment; mais, sous le sérieux indulgent qu'il garde,
Rémusat ne cache pas autre chose que la vue mesquine et erronée
d'un philosophe qui comprend tous les préjugés d'un siècle et d'un
grand homme, et qui ne les leur reproche pas. Tant de bonté ne
nous fera pas hésiter cependant. Au fond, l'intelligence profonde de
la double grandeur du temps et de l'homme lui échappe. Il n'a pas
l'appréciation de cette obéissance qui, à partir de Grégoire VII et des
Croisades, fit triompher la foi dogmatique, et, on peut le dire,
organisa politiquement la religion. L'action de la foi par l'obéissance
est humainement, si on peut risquer l'expression, la physique du
catholicisme. La véritable gloire de saint Anselme est d'avoir donné à
tous les fidèles de son temps, du haut d'une position qui leur
imposait et les entraînait, l'exemple du respect de l'obéissance
poussé jusqu'au fanatisme, mais à un fanatisme pour la première
fois désintéressé. Or, quand un homme personnifie en lui cette
physique du catholicisme, l'instrumentum regni par lequel il s'est
constitué et a gouverné, n'étudier dans cet homme que le travail de
son esprit appliqué aux stériles contemplations de la métaphysique,
c'est prouver assurément qu'on est un métaphysicien, mais c'est
aussi découvrir en soi la pente fatale à ne voir que les petites
choses, quand il y a les grandes à côté. Chétive organisation du
regard! La myopie vaudrait mieux, car la myopie ne scinde rien, et
c'est ce qui est grand qui, d'abord, la frappe. Rémusat a-t-il jamais
eu la faculté des esprits nets et droits qui vont de prime saut aux
réalités importantes? Nous ne savons. Mais s'il l'a eue jamais, il l'a
bien perdue dans les études microscopiques d'une philosophie qui
analyse l'homme dans les moindres nuances de son ondoyante
personnalité. Et il est permis, on en conviendra, de s'étonner qu'un
homme qui fut ministre autrefois s'imagine probablement, sinon de
reprendre le gouvernement qu'il a perdu, au moins l'influence dans
les esprits, qui est du gouvernement aussi, en traitant de la
résurrection de systèmes philosophiques au XIe siècle. Systèmes qui
mourront et ressusciteront plus d'une fois encore si les hommes
doivent s'occuper longtemps de ce que les philosophes appellent des
vérités éternelles, lesquelles n'ont d'éternel, peut-être, que leur
inutilité!
L'INTERNELLE CONSOLACION[63]

I
Voici un de ces ouvrages que la critique n'est pas obligée d'ajuster,
en se pressant, au passage. Un pareil livre ne passe pas. Il existe
depuis 1441 à peu près, et il est bien probable qu'il vivra autant que
le sentiment du christianisme qui l'a inspiré et que le sentiment de la
langue charmante dans laquelle il a été traduit. C'est le livre de
l'Internelle Consolacion[64], sorti au XVe siècle de l'Imitation de
Jésus-Christ. Traduction, imitation, paraphrase de cet ouvrage
célèbre, dans la langue naïve et prime-sautière que le moyen âge a
créée, ceci, tel qu'on nous l'exhume et tel que Charles d'Héricault et
Moland le publient, nous paraît supérieur, non seulement à toutes les
traductions que l'on a faites, depuis, de l'Imitation, mais, le croira-t-
on, et n'est-ce pas là une de ces choses qui vont paraître d'une
singularité un peu forte à beaucoup d'esprits? supérieur au texte
même si vanté de l'original.

En effet, l'Imitation de Jésus-Christ est regardée presque par tout le


monde comme un incomparable chef-d'œuvre. Ce livre de moine,
écrit dans le clair et profond silence d'une cellule, a rencontré la
gloire, cette fille de la foule et qui passe comme sa mère (sic transit
gloria mundi), mais qui, pour lui, s'est arrêtée. Ce n'était pas assez.
De la gloire à la popularité, il n'y a que quelques marches... à
descendre. De glorieux, le livre est devenu populaire. Et ce n'était
pas assez encore: il a pris les colossales proportions d'un lieu
commun.

Or, le lieu commun, cette chose respectée, c'est la gloire devenue


momie, c'est son embaumement pour l'immortalité, et qui y touche
semble faire du paradoxe et du sacrilège. Nous l'oserons pourtant
aujourd'hui, puisque l'occasion s'en présente. Nous oserons regarder
dans cette gloire pour en chercher le mot, s'il y en a un au succès
d'un livre universellement accepté par les gens pieux, et même par
les impies.

Les chrétiens, qui veulent, eux, imiter Jésus-Christ, n'ont pas


travaillé seuls à ce succès. Les philosophes, qui n'ont pas
précisément la même visée, y ont travaillé autant que les chrétiens.
Étaient-ils vaincus par le charme qui s'exhalait de ce livre d'une
simplicité si pénétrante? Quelques bonnes âmes un peu badaudes
l'ont cru peut-être; mais non! ils n'étaient pas vaincus.

II
C'est Fontenelle, cette belle autorité religieuse et même littéraire, qui
a écrit le mot fameux et qu'on cite toujours quand il est question de
l'Imitation: «L'Imitation est le premier des livres humains, puisque
l'Évangile n'est pas de main d'homme.» Seulement, rappelons-nous
que quand il grava cette ingénieuse inscription lapidaire pour les
rhétoriques des temps futurs il s'agissait de la traduction de
monsieur son oncle, le grand Corneille, et que, sans cette
circonstance de famille, l'Imitation lui aurait paru moins sublime. De
plus, avec tout son esprit, Fontenelle disait deux bêtises dans son
mot fameux, si ce n'est trois, ce pauvre Tircis!

É
D'abord, l'Évangile n'est point écrit des mains de Jésus-Christ, mais
de la main de saint Mathieu, de saint Luc, de saint Marc et de saint
Jean, et, d'ailleurs, Jésus-Christ était aussi un homme. Inspirés, oui!
martyrs plus tard, c'est-à-dire témoins, les évangélistes ne sont que
des hommes... inspirés! et par ce côté le mot de Fontenelle est
pourpré et faux comme l'est un madrigal. Il n'en était pas un
pourtant;—c'était une précaution. On sait s'ils s'entendent en
précautions, messieurs les philosophes!

Fontenelle, impie et lâche comme toute la secte qu'il précédait et


dont il est un des ancêtres, écrivait alors Mero et Énégu, ou Rome et
Genève, et le sournois se préparait, avec son mot sur l'Imitation, un
bouclier contre Louis XIV et la régence. Saint-Évremond, qui ne
valait pas mieux que Fontenelle par la moralité réfléchie ou par la
moralité instinctive, mais qui lui était très supérieur par le talent,
Saint-Évremond était plus hardi;—mais il était en Angleterre, cet
asile contre la France toujours.

III
Mais, faux par l'accessoire, le mot est faux aussi en lui-même.
L'Imitation n'est point et ne saurait être le premier des livres
humains, car il n'est pas humain de confondre la cité domestique et
la cité monastique comme le faisait le vieux Tircis, qui ne comprenait
pas plus l'une que l'autre, et comme le feraient tous ceux qui ne
verraient pas que l'Imitation est une œuvre exclusivement monacale.
Pour qui la lit, en effet, avec le genre d'esprit et d'attention qui
pénètre les livres, celui-ci, pâle, exsangue, d'un amour exténué, avec
son expression bien plus métaphysique que vivante, s'adresse
formellement et essentiellement à des moines, tournant le dos au
monde proprement dit, voulant rendre le correct plus correct,
proposant—et il ne faut pas s'y tromper! car la méprise serait
grossière,—la vie parfaite et de conseil, et non pas la vie de
précepte. Si l'on avait dit de l'Imitation qu'elle était le premier des
livres de moines, l'erreur eût été moindre; mais ce n'eût pas été le
vrai encore.

N'y eût-il que la grande sainte Thérèse,—et il y en a d'autres,—il est


des mystiques d'un ordre bien plus translucide, bien plus embrasé,
bien plus enlevant que l'auteur de l'Imitation, quel qu'il ait été... On
dit même, chose étrange et assez ignorée! que son mysticisme ne
parut pas toujours sûr à Rome. Un jour on l'y a signalé comme
inclinant vers l'erreur qui s'est appelée Jansénisme, sur cette terrible
question de la nature et de la grâce. Mais le succès couvrit tout de
son bruit, et il n'est pas jusqu'au nom du chancelier Gerson, sur le
compte duquel on mit ce livre d'ascétisme doux, qui ne dut lui être
une fière réclame,—comme nous disons maintenant,—après le
deuxième concile de Constance. C'est à lui encore aujourd'hui, à
Jean Gerson, dont ils ont fait un grand portrait, trop flatté, dans leur
introduction, que Ch. d'Héricault et Moland attribuent l'honneur de
ce livre, malgré les germanismes qui révèlent évidemment une autre
main.

Du reste, ce nom même était inutile. Rigoureusement parlant, le ton


seul du livre suffisait pour expliquer son succès, car le monde est
pour les livres ce qu'il est pour les hommes. Il ressemble à l'ombre
du poète persan: fuyez-le, il vous suit; suivez-le, il vous fuit. Et voilà
pourquoi surtout le monde s'est précipité, sans l'atteindre, vers cette
ombre vague de moine blanc masqué jusqu'aux yeux de son
capuchon, et qui fuit tout là-bas, dans les entre-colonnements d'on
ne sait plus quel monastère! L'ombre blanche est restée pour jamais
une ombre fuyante. Quelles que soient les raisons d'affirmer la
personnalité de l'auteur de l'Imitation, elles ne sont pas telles
cependant qu'on puisse les admettre en toute certitude, et cet
inconnu que quelques-uns appellent Jean Gerson, d'autres A.
Kempis, d'autres encore Jean Gersen, abbé de Verceil, n'en est pas
moins toujours un anonyme de l'histoire. On ne l'a point assez
remarqué, le monde, cet ennuyé et ce capricieux, aime à la fureur
les contrastes. Il aime les langages étranges et étrangers, et cette
voix de moine en était une, par son calme même. Le monde,
puisqu'il s'agit de son goût pour une œuvre qui ne fut jamais faite
pour lui, lit avec avidité l'Imitation et ne veut pas lire l'Évangile, et
les raisons de cela ne viennent pas de l'Imitation. L'Évangile est
littérairement barbare, parabolique, miraculeux, ardemment imagé,
et il ne se comprend bien qu'à l'Église et dans la lumière de
l'enseignement sacerdotal, tandis que l'Imitation, nous l'avons dit,
est métaphysique et décolorée comme le verre d'eau claire qu'on
boit sans avoir soif et qui ne nourrit pas davantage. D'un autre côté,
comme l'Imitation place la vertu très haut, le monde y applaudit,
pour se dispenser d'y atteindre. C'est si haut que c'est impossible, et
l'on se rassied dans la vie commode, en jetant à l'idéal intangible le
regard le plus tranquillement résigné... à la perte de cet idéal.

Telles sont, en fait, les raisons de cette popularité mondaine d'un


livre qui a sa valeur sans aucun doute, mais que l'opinion a
exagérée. L'opinion a fait de l'Imitation un livre essentiel, et, sans
nier ses mérites raffinés en piété pratique, cela est-il juste, cela est-il
sage, à une époque comme la nôtre, où tant d'esprits inclinent,
hélas! à se créer une Église sans sacrements et un Évangile sans
surnaturel?... Une pareille disposition effraie assez les esprits qui
étudient les pentes du siècle pour donner le courage de réagir contre
un livre bien plus utile à des ascètes avancés dans la voie de la
perfection chrétienne qu'à des gens du monde, vivant dans les
réalités et les épaisseurs de ce temps. Nous voudrions poser la
question à qui aurait autorité pour y répondre, mais nous ne la
résolvons pas. Seulement, si nous n'entrons pas plus avant dans ce
point de vue pratique qu'il est impossible de ne pas ouvrir quand il
s'agit d'un livre chrétien, il nous reste à connaître le côté littéraire de
l'Imitation comme œuvre humaine, et nous allons l'examiner.

IV
Eh bien, par ce côté-là comme par l'autre, par la forme comme par
le fond, l'Imitation n'est pas en rapport avec l'admiration
traditionnelle qu'elle a inspirée! Un homme de nos jours, tout
ensemble métaphysicien et poète, et dont l'habitude n'est pas de
céder aux influences du monde qui l'entoure, a dit de l'Imitation
qu'elle avait été laissée sur le seuil du moyen âge pour donner
l'envie d'y pénétrer. S'il avait parlé en ces termes de l'Internelle
Consolacion, dans sa langue artiste et populaire, le mot aurait peut-
être été vrai; mais, appliqué au texte latin de l'original, un tel mot
n'est plus que poétique. Non! l'Imitation ne traduit pas le moyen âge
avec cette puissance qu'il est impossible d'y résister. Cette vignette
de l'âme et de Jésus-Christ, qui ressemble à la patiente enluminure
des marges d'un missel, n'égale pas, sous son latin de cloître
harmonieux et limpide, les figures idéales, mais si profondément
touchantes dans leur sainteté émaciée et splendide, de frère Ange
de Fiesole (un moine aussi), le plus profond interprète du moyen
âge, ni même les lignes expressives et nettes d'Overbeck, aussi loin
pourtant que l'homme l'est de l'ange, du monastique Angelico.

Dans l'Imitation, rien de pareil. Toute intention y est diminuée.


L'Évangile y est sous le précepte, mais comme le feu derrière un
écran, comme la vérité derrière un voile, comme le Sinaï derrière un
poète sonore et pur. On dirait du Lamartine, maintenu par la règle,
avec des adjectifs de moins et une simplicité plus austère. Quant à la
profondeur, qu'on a souvent prétendu y voir, ce n'a jamais été qu'un
mirage, car ce qu'elle est le moins peut-être, cette conversation
intérieure d'un cœur presque vierge dans un coin de chapelle, c'est
d'être un livre fouillé et profond. Pour les âmes circoncises qui
habitent la thébaïde des monastères, ce qui est dit dans l'Imitation
de l'amour et des autres passions humaines peut sembler des
découvertes terribles et le cœur humain montré jusque dans ses
fondements; mais qui a passé par les vieilles civilisations, qui a lu les
moralistes modernes, n'est ni révolté ni surpris de cette balbutie.
Ceux qui ont reçu les coups du monde et les morsures du monde,
trouvent ce livre sans forte connaissance du fin fond du cœur. Il ne
descend pas dans cette vase saignante, et c'est, en somme, un
innocent enfantelet de livre, même dans sa conception du péché.
Telles sont les qualités et les défauts de l'Imitation, que nous
retrouvons aujourd'hui, avec des qualités qui s'ajoutent aux siennes,
dans cette langue aimable de l'Internelle Consolacion, bien
préférable, selon nous, au latin décharné et abstrait de l'original. La
langue du XVe siècle, plus étoffée, plus concrète, plus vivante enfin,
a un mouvement, une mollesse et des images que l'ascétique auteur
de l'Imitation se serait peut-être interdites comme un péché et qui
ôtent à sa pensée sa rigidité et la frigidité monacales. Comme on
voit tout ce que l'on veut dans les livres qu'on aime, l'imagination de
ceux qui sont épris de l'Imitation y a mis aussi de la tendresse; mais
il n'y en a pas plus que dans tous les livres d'oraison, et même il y
en a beaucoup moins. On a pris le ton du genre pour une qualité
individuelle du livre et de l'auteur.

Eh bien, dans la langue de l'Internelle Consolacion s'est coulée cette


tendresse absente et cette grâce chaste dont le livre manquait
primitivement! La pensée droite et byzantine du moine a trouvé une
draperie flottante qui lui va bien. Il n'en est que mieux à genoux sur
sa dalle d'y traîner cette robe à longs plis... Ici donc, et pour la
première fois, voici une traduction qui ajoute à la valeur de l'original.
L'écrivain de l'Internelle Consolacion, qui a partagé la destinée de
l'auteur de l'Imitation (l'anonyme convenant, comme le silence de
leur règle, à ces hommes humbles qui ne vivaient, comme disent les
saintes chroniques, que sur la montagne de l'éternité, in monte
æternitatis), l'écrivain ignoré de l'Internelle Consolacion ne s'est
point attaché à la glèbe du mot à mot de son auteur. Il n'en a pris
que l'esprit même et l'a vêtu comme un pauvre qu'on veut
réchauffer. Avec sa langue feuillue et abondante il s'est roulé autour
de la pensée simple et nue de l'original, et il a fait de cette pensée
sèche ce que la guirlande de pampre et de vigne fait d'un thyrse qui,
primitivement, n'était qu'un bâton.

V
Ainsi, nous n'hésitons point à le répéter, de toutes les traductions qui
ont été faites du livre de l'Imitation, et elles sont nombreuses,—
depuis celle du chancelier de Marillac, rééditée de nos jours, et dans
laquelle on a une naïveté bien inférieure à celle de la traduction du
XVe siècle, jusqu'à celle que s'imposa Lamennais (il était chrétien
alors), pour mortifier, je crois, son génie,—la meilleure, celle-là qui
complète le mieux son auteur en le traduisant, est celle que
d'Héricault et Moland nous ressuscitent. Toutes les autres ne valent
pas le texte, parce qu'elles veulent seulement nous le donner. Malgré
le succès qui s'est attaché à l'entreprise de Lamennais, comme s'il
était de la destinée de l'Imitation, ce livre heureux, de créer des
succès à ses traducteurs eux-mêmes, combien n'avons-nous pas
souffert de voir le génie éclatant et sombre de l'auteur de
l'Indifférence se débattre dans un genre de travail si antipathique à
sa nature! Le parti qu'il a pris d'être simple en traduisant cette
simplicité l'a fait verser dans ce que nous appelons l'inconvénient de
l'Imitation, c'est-à-dire la métaphysique.

S'il en est ainsi de Lamennais, que pouvons-nous dire de Beauzée le


grammairien, et de Le Maistre de Sacy le janséniste! Quant à
Corneille, ce n'est pas un traducteur, quoiqu'il ait voulu l'être: c'est
Corneille. Il y a des choses cent fois dignes de l'auteur de Polyeucte
dans sa paraphrase, mais c'est précisément pour cela qu'il ne traduit
pas ce livre d'ombre, fait par une ombre qui n'a qu'une voix comme
un souffle,—la voix de l'esprit,—et qui semble sortir d'un in pace. Le
génie de Corneille déborde tout, et l'agrafe de son vers ne le retient
pas même à son auteur. Évidemment cet homme-là n'est pas fait
pour suivre. L'écrivain quelconque de l'Internelle Consolacion
déborde aussi son texte, mais il ne le transforme pas, il ne le
transfigure pas avec cette toute-puissance qui fait qu'il n'y a plus là
que du Corneille. Il l'orne, il l'atourne, il l'amollit, il lui communique
de certains charmes; mais il ne le dévore pas, comme Corneille, pour
en jeter, après, les cendres aux vents.
VI
Les éditeurs actuels de l'Internelle Consolacion, Charles d'Héricault
et Moland, connus déjà par des travaux d'une érudition qui ne se
contente pas de rechercher, mais qui pense, ont fait précéder leur
travail d'une Introduction très fermement écrite, dans laquelle ils ont
agité toutes les questions littéraires qui se rattachaient, soit à
l'Imitation elle-même, soit à l'Internelle Consolacion qui en est
sortie. Quoique touchées en bien des points avec compétence et
sagacité, ces questions n'ont pas cependant été amenées par les
spirituels éditeurs au point de lumière qu'ils auraient souhaité et
qu'une critique plus minutieuse que la nôtre pourrait exiger. Nous
sommes, nous, très coulants sur ces sortes de questions: quel fut
l'auteur de l'Imitation? quel fut l'auteur de l'Internelle Consolacion?
ces deux anonymes.

Pourvu que nous ne tombions pas dans le système rasé de bien près
par les éditeurs, à la page 14 de leur Introduction, dans cette
immense bourde allemande, qui a décapité Homère et qui répugne à
la constitution même de l'esprit humain, que nous importe de savoir
si l'auteur de l'Imitation s'appelait A. Kempis ou de toute autre
réunion de syllabes! C'est une question de bal masqué. Ce qu'il y a
de certain, c'est que ce fut un moine, comme Homère fut un poète,
un moine dont l'individualité n'eut probablement de nom que devant
Dieu, et ce qu'il y a de certain encore c'est que ce ne fut point
Gerson, malgré la croyance des éditeurs, mêlée pourtant d'un
invincible doute. Gerson, à notre estime, ne fut ni l'auteur de
l'Imitatio Christi ni celui de l'Internelle Consolacion. Les germanismes
du texte latin le prouvent suffisamment pour l'Imitation, et, pour
l'Internelle Consolacion, le génie de Gerson lui-même, qui n'eut
jamais le moelleux et le laisser-aller du livre délicieux remis en
lumière aujourd'hui.

Il n'y a pas de mal, d'ailleurs, à ce qu'un peu de mystère et de


l'esprit du moyen âge restent sur ces points en litige. Le génie du
moyen âge est essentiellement silencieux. Ces hommes, qui vivaient
les yeux au ciel ou baissés sur la poussière de leurs sandales, se
souciaient bien de cette bavarderie qu'on appelle la gloire et des
commérages que l'avenir devait faire, un jour, sur leur tombeau!

FIN
TABLE

Dédicace v
Préface vii
Saint Thomas d'Aquin 1
Jean Reynaud 12
Donoso Cortès 29
Saisset 45
Saint-René Taillandier 59
Jules Simon 73
Vera 86
Du mysticisme et de Saint Martin 99
L'abbé Mitraud 117
Ernest Renan 133
Gorini 161
Doublet et Taine 175
Pascal 189
Auguste Martin 203
Buffon 217
Saint-Bonnet et le Père Daniel 233
Le P. Lacordaire 249
Montalembert 265
Philosophie positive 279
Philosophie politique 297
P. Enfantin 311
Le P. Ventura 323
Le docteur Tessier 337
Flourens 351
Eugène Pelletan 365
Saint Anselme de Cantorbéry 381
L'Internelle Consolacion 397
NOTES

[1] La Philosophie de saint Thomas d'Aquin, par Charles Jourdain,


ouvrage couronné par l'Académie; La Somme théologique de
saint Thomas d'Aquin, traduite en français et annotée par Lachat,
avec le texte latin (Pays, 19 avril 1859).

[2] Louis Vivès.

[3] Hachette et Cie.

[4] Terre et Ciel (Pays, 13 septembre 1854).

[5] Furne et Cie.

[6] Œuvres de Donoso Cortès, marquis de Valdegamas,


précédées d'une introduction par Louis Veuillot (Pays, 6 juillet
1859).

[7] Vaton.

[8] Essai de Philosophie religieuse (Pays, 8 novembre 1859).

[9] Charpentier.

[10] Histoire et Philosophie religieuse (Pays, 23 novembre 1859).

[11] Lévy.

[12] La Religion naturelle; Le Devoir (Pays, 7 février 1860).

[13] Hachette et Cie.


[14] Introduction à la Philosophie de Hegel; La logique de Hegel
(Pays, 20 mars 1860).

[15] De réputation plus que de fait, pourtant. Il y a une très


curieuse traduction, par H. Sloman et J. Wallon, de la Logique
subjective de Hegel, qui n'est pas la Logique dont il est question
ici. Nous en parlerons quelque jour.

[16] Ladrange.

[17] A. Franck.

[18] Caro: Du Mysticisme au XVIIIe siècle; Essai sur la vie et les


doctrines de Saint Martin, le philosophe inconnu (Pays, 23 mai
1853).

[19] Hachette et Cie.

[20] De la Nature des Sociétés humaines (Pays, 11 janvier 1855).

[21] Librairie nouvelle.

[22] Études d'histoire religieuse; Origine du Langage (Pays, 21


avril 1857; 8 avril 1858).

[23] Lévy frères.

[24] Rien de plus stérile que la pensée philosophique au XIXe


siècle. C'est par là que le monstre se distinguera: l'infécondité! La
pensée de Diderot: l'élargissement de Dieu jusqu'à ce qu'il en
crève, est l'idée que nous retrouvons dans la plupart des écrits de
ce pauvre temps. On est obligé d'avertir.

[25] Lévy frères.

[26] Défense de l'Église contre les erreurs historiques de MM.


Guizot, Augustin et Amédée Thierry, Michelet, Ampère, Quinet,
Fauriel et H. Martin (Pays, 26 juillet 1859).

[27] Girard et Josserand (Lyon).

[28] Histoire de l'Intelligence; Les Philosophes français du XIXe


siècle (Pays, 27 juillet 1857).
[29] Hachette et Cie.

[30] Ibid.

[31] Les Pensées de Pascal, précédées d'une Étude littéraire, par


Ernest Havet (Pays, 5 juin 1860).

[32] Dezobry et Magdeleine.

[33] Histoire de la Morale, par Louis-Auguste Martin, auteur de


plusieurs ouvrages (sic) (Pays, 11 octobre 1859).

[34] Bestel.

[35] Histoire des travaux et des idées de Buffon; Des manuscrits


de Buffon, par Flourens (Pays, 31 janvier 1860).

[36] On verra plus loin les titres à cette grande chose qu'a
Flourens par ses travaux personnels.

[37] Garnier frères.

[38] Ibid.

[39] De l'Affaiblissement de la Raison en Europe; Des Études


classiques dans la société chrétienne (Pays, 1er septembre 1861).

[40] L. Hervé.

[41] Julien Lanier.

[42] Sainte Marie-Madeleine (Pays, 3 juillet 1860).

[43] Vve Poussielgue-Rusand.

[44] Les moines d'Occident (Pays, 14 août 1860).

[45] Lecoffre et Cie.

[46] Exposition de la religion et de la philosophie positive, par


Célestin de Blignières; Paroles de philosophie positive, par Littré
(Pays, 29 mai 1860).

[47] Delahays.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like