Ehcache code (#734)
* - created packages for each logical part of application - created validator for WebsiteUser rest API - created ValidatorEventRegister class which fixes known bug for not detecting generated events - created custom Exception Handler which creates better response messages * Code formatting * formated pom.xml replaced for loops with streams fixed bug while getting all beans * removed unnecessary code changed repository type * - added test for Spring Data REST APIs - changed bad request return code - formated code * - added source code for ehcache article - added ehcache dependency to pom.xml
This commit is contained in:
		
							parent
							
								
									9c8ef99ed3
								
							
						
					
					
						commit
						b36a7e00cc
					
				| @ -1,295 +1,301 @@ | ||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||
|     <modelVersion>4.0.0</modelVersion> | ||||
|     <groupId>com.baeldung</groupId> | ||||
|     <artifactId>spring-all</artifactId> | ||||
|     <version>0.1-SNAPSHOT</version> | ||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
| 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||||
| 	<modelVersion>4.0.0</modelVersion> | ||||
| 	<groupId>com.baeldung</groupId> | ||||
| 	<artifactId>spring-all</artifactId> | ||||
| 	<version>0.1-SNAPSHOT</version> | ||||
| 
 | ||||
|     <name>spring-all</name> | ||||
|     <packaging>war</packaging> | ||||
| 	<name>spring-all</name> | ||||
| 	<packaging>war</packaging> | ||||
| 
 | ||||
|     <parent> | ||||
|         <groupId>org.springframework.boot</groupId> | ||||
|         <artifactId>spring-boot-starter-parent</artifactId> | ||||
|         <version>1.3.6.RELEASE</version> | ||||
|     </parent> | ||||
| 	<parent> | ||||
| 		<groupId>org.springframework.boot</groupId> | ||||
| 		<artifactId>spring-boot-starter-parent</artifactId> | ||||
| 		<version>1.3.6.RELEASE</version> | ||||
| 	</parent> | ||||
| 
 | ||||
|     <dependencies> | ||||
|         <dependency> | ||||
|             <groupId>com.fasterxml.jackson.core</groupId> | ||||
|             <artifactId>jackson-databind</artifactId> | ||||
|         </dependency> | ||||
| 	<dependencies> | ||||
| 		<dependency> | ||||
| 			<groupId>com.fasterxml.jackson.core</groupId> | ||||
| 			<artifactId>jackson-databind</artifactId> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <!-- Spring --> | ||||
| 		<!-- Spring --> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.springframework</groupId> | ||||
|             <artifactId>spring-web</artifactId> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.springframework</groupId> | ||||
|             <artifactId>spring-webmvc</artifactId> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.springframework</groupId> | ||||
|             <artifactId>spring-orm</artifactId> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.springframework</groupId> | ||||
|             <artifactId>spring-context</artifactId> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.springframework</groupId> | ||||
| 			<artifactId>spring-web</artifactId> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.springframework</groupId> | ||||
| 			<artifactId>spring-webmvc</artifactId> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.springframework</groupId> | ||||
| 			<artifactId>spring-orm</artifactId> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.springframework</groupId> | ||||
| 			<artifactId>spring-context</artifactId> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <!-- aspectj --> | ||||
| 		<!-- aspectj --> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.springframework</groupId> | ||||
|             <artifactId>spring-aspects</artifactId> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.springframework</groupId> | ||||
| 			<artifactId>spring-aspects</artifactId> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <!-- persistence --> | ||||
| 		<!-- persistence --> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.hibernate</groupId> | ||||
|             <artifactId>hibernate-core</artifactId> | ||||
|             <version>${hibernate.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.javassist</groupId> | ||||
|             <artifactId>javassist</artifactId> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>mysql</groupId> | ||||
|             <artifactId>mysql-connector-java</artifactId> | ||||
|             <scope>runtime</scope> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.hsqldb</groupId> | ||||
|             <artifactId>hsqldb</artifactId> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.hibernate</groupId> | ||||
| 			<artifactId>hibernate-core</artifactId> | ||||
| 			<version>${hibernate.version}</version> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.javassist</groupId> | ||||
| 			<artifactId>javassist</artifactId> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>mysql</groupId> | ||||
| 			<artifactId>mysql-connector-java</artifactId> | ||||
| 			<scope>runtime</scope> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.hsqldb</groupId> | ||||
| 			<artifactId>hsqldb</artifactId> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <!-- validation --> | ||||
| 		<!-- validation --> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.hibernate</groupId> | ||||
|             <artifactId>hibernate-validator</artifactId> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.hibernate</groupId> | ||||
| 			<artifactId>hibernate-validator</artifactId> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <!-- web --> | ||||
| 		<!-- web --> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>javax.servlet</groupId> | ||||
|             <artifactId>javax.servlet-api</artifactId> | ||||
|             <scope>provided</scope> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>javax.servlet</groupId> | ||||
| 			<artifactId>javax.servlet-api</artifactId> | ||||
| 			<scope>provided</scope> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>javax.servlet</groupId> | ||||
|             <artifactId>jstl</artifactId> | ||||
|             <scope>runtime</scope> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>javax.servlet</groupId> | ||||
| 			<artifactId>jstl</artifactId> | ||||
| 			<scope>runtime</scope> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <!-- util --> | ||||
| 		<!-- util --> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>com.google.guava</groupId> | ||||
|             <artifactId>guava</artifactId> | ||||
|             <version>${guava.version}</version> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>com.google.guava</groupId> | ||||
| 			<artifactId>guava</artifactId> | ||||
| 			<version>${guava.version}</version> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <!-- logging --> | ||||
| 		<!-- logging --> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.slf4j</groupId> | ||||
|             <artifactId>slf4j-api</artifactId> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>ch.qos.logback</groupId> | ||||
|             <artifactId>logback-classic</artifactId> | ||||
|             <!-- <scope>runtime</scope> --> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.slf4j</groupId> | ||||
|             <artifactId>jcl-over-slf4j</artifactId> | ||||
|             <!-- <scope>runtime</scope> --> <!-- some spring dependencies need to compile against jcl --> | ||||
|         </dependency> | ||||
|         <dependency> <!-- needed to bridge to slf4j for projects that use the log4j APIs directly --> | ||||
|             <groupId>org.slf4j</groupId> | ||||
|             <artifactId>log4j-over-slf4j</artifactId> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.slf4j</groupId> | ||||
| 			<artifactId>slf4j-api</artifactId> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>ch.qos.logback</groupId> | ||||
| 			<artifactId>logback-classic</artifactId> | ||||
| 			<!-- <scope>runtime</scope> --> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.slf4j</groupId> | ||||
| 			<artifactId>jcl-over-slf4j</artifactId> | ||||
| 			<!-- <scope>runtime</scope> --> <!-- some spring dependencies need to compile against jcl --> | ||||
| 		</dependency> | ||||
| 		<dependency> <!-- needed to bridge to slf4j for projects that use the log4j APIs directly --> | ||||
| 			<groupId>org.slf4j</groupId> | ||||
| 			<artifactId>log4j-over-slf4j</artifactId> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <!-- test scoped --> | ||||
| 		<!-- test scoped --> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.springframework</groupId> | ||||
|             <artifactId>spring-test</artifactId> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.springframework</groupId> | ||||
| 			<artifactId>spring-test</artifactId> | ||||
| 			<scope>test</scope> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>junit</groupId> | ||||
|             <artifactId>junit</artifactId> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>junit</groupId> | ||||
| 			<artifactId>junit</artifactId> | ||||
| 			<scope>test</scope> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.assertj</groupId> | ||||
|             <artifactId>assertj-core</artifactId> | ||||
|             <version>3.5.1</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.assertj</groupId> | ||||
| 			<artifactId>assertj-core</artifactId> | ||||
| 			<version>3.5.1</version> | ||||
| 			<scope>test</scope> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.hamcrest</groupId> | ||||
|             <artifactId>hamcrest-core</artifactId> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>org.hamcrest</groupId> | ||||
|             <artifactId>hamcrest-library</artifactId> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.hamcrest</groupId> | ||||
| 			<artifactId>hamcrest-core</artifactId> | ||||
| 			<scope>test</scope> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.hamcrest</groupId> | ||||
| 			<artifactId>hamcrest-library</artifactId> | ||||
| 			<scope>test</scope> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.mockito</groupId> | ||||
|             <artifactId>mockito-core</artifactId> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.mockito</groupId> | ||||
| 			<artifactId>mockito-core</artifactId> | ||||
| 			<scope>test</scope> | ||||
| 		</dependency> | ||||
| 
 | ||||
|         <dependency> | ||||
|             <groupId>org.easymock</groupId> | ||||
|             <artifactId>easymock</artifactId> | ||||
|             <version>3.4</version> | ||||
|             <scope>test</scope> | ||||
|         </dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.easymock</groupId> | ||||
| 			<artifactId>easymock</artifactId> | ||||
| 			<version>3.4</version> | ||||
| 			<scope>test</scope> | ||||
| 		</dependency> | ||||
| 		<dependency> | ||||
| 			<groupId>org.ehcache</groupId> | ||||
| 			<artifactId>ehcache</artifactId> | ||||
| 			<version>3.1.3</version> | ||||
| 		</dependency> | ||||
| 
 | ||||
|     </dependencies> | ||||
| 	</dependencies> | ||||
| 
 | ||||
|     <dependencyManagement> | ||||
| 	<dependencyManagement> | ||||
| 
 | ||||
|         <dependencies> | ||||
| 		<dependencies> | ||||
| 
 | ||||
|             <dependency> | ||||
|                 <groupId>org.springframework</groupId> | ||||
|                 <artifactId>spring-framework-bom</artifactId> | ||||
|                 <version>${org.springframework.version}</version> | ||||
|                 <type>pom</type> | ||||
|                 <scope>import</scope> | ||||
|             </dependency> | ||||
| 			<dependency> | ||||
| 				<groupId>org.springframework</groupId> | ||||
| 				<artifactId>spring-framework-bom</artifactId> | ||||
| 				<version>${org.springframework.version}</version> | ||||
| 				<type>pom</type> | ||||
| 				<scope>import</scope> | ||||
| 			</dependency> | ||||
| 
 | ||||
|             <dependency> | ||||
|                 <groupId>org.springframework</groupId> | ||||
|                 <artifactId>spring-core</artifactId> | ||||
|                 <version>${org.springframework.version}</version> | ||||
|             </dependency> | ||||
| 			<dependency> | ||||
| 				<groupId>org.springframework</groupId> | ||||
| 				<artifactId>spring-core</artifactId> | ||||
| 				<version>${org.springframework.version}</version> | ||||
| 			</dependency> | ||||
| 
 | ||||
|         </dependencies> | ||||
| 		</dependencies> | ||||
| 
 | ||||
|     </dependencyManagement> | ||||
| 	</dependencyManagement> | ||||
| 
 | ||||
|     <build> | ||||
|         <finalName>spring-all</finalName> | ||||
|         <resources> | ||||
|             <resource> | ||||
|                 <directory>src/main/resources</directory> | ||||
|                 <filtering>true</filtering> | ||||
|             </resource> | ||||
|         </resources> | ||||
| 	<build> | ||||
| 		<finalName>spring-all</finalName> | ||||
| 		<resources> | ||||
| 			<resource> | ||||
| 				<directory>src/main/resources</directory> | ||||
| 				<filtering>true</filtering> | ||||
| 			</resource> | ||||
| 		</resources> | ||||
| 
 | ||||
|         <plugins> | ||||
| 		<plugins> | ||||
| 
 | ||||
|             <plugin> | ||||
|                 <groupId>org.apache.maven.plugins</groupId> | ||||
|                 <artifactId>maven-compiler-plugin</artifactId> | ||||
|                 <configuration> | ||||
|                     <source>1.8</source> | ||||
|                     <target>1.8</target> | ||||
|                 </configuration> | ||||
|             </plugin> | ||||
| 			<plugin> | ||||
| 				<groupId>org.apache.maven.plugins</groupId> | ||||
| 				<artifactId>maven-compiler-plugin</artifactId> | ||||
| 				<configuration> | ||||
| 					<source>1.8</source> | ||||
| 					<target>1.8</target> | ||||
| 				</configuration> | ||||
| 			</plugin> | ||||
| 
 | ||||
|             <plugin> | ||||
|                 <groupId>org.apache.maven.plugins</groupId> | ||||
|                 <artifactId>maven-war-plugin</artifactId> | ||||
|                 <configuration> | ||||
|                     <failOnMissingWebXml>false</failOnMissingWebXml> | ||||
|                 </configuration> | ||||
|             </plugin> | ||||
| 			<plugin> | ||||
| 				<groupId>org.apache.maven.plugins</groupId> | ||||
| 				<artifactId>maven-war-plugin</artifactId> | ||||
| 				<configuration> | ||||
| 					<failOnMissingWebXml>false</failOnMissingWebXml> | ||||
| 				</configuration> | ||||
| 			</plugin> | ||||
| 
 | ||||
|             <plugin> | ||||
|                 <groupId>org.apache.maven.plugins</groupId> | ||||
|                 <artifactId>maven-surefire-plugin</artifactId> | ||||
|                 <configuration> | ||||
|                     <excludes> | ||||
|                         <!-- <exclude>**/*ProductionTest.java</exclude> --> | ||||
|                     </excludes> | ||||
|                     <systemPropertyVariables> | ||||
|                         <!-- <provPersistenceTarget>h2</provPersistenceTarget> --> | ||||
|                     </systemPropertyVariables> | ||||
|                 </configuration> | ||||
|             </plugin> | ||||
| 			<plugin> | ||||
| 				<groupId>org.apache.maven.plugins</groupId> | ||||
| 				<artifactId>maven-surefire-plugin</artifactId> | ||||
| 				<configuration> | ||||
| 					<excludes> | ||||
| 						<!-- <exclude>**/*ProductionTest.java</exclude> --> | ||||
| 					</excludes> | ||||
| 					<systemPropertyVariables> | ||||
| 						<!-- <provPersistenceTarget>h2</provPersistenceTarget> --> | ||||
| 					</systemPropertyVariables> | ||||
| 				</configuration> | ||||
| 			</plugin> | ||||
| 
 | ||||
|             <plugin> | ||||
|                 <groupId>org.codehaus.cargo</groupId> | ||||
|                 <artifactId>cargo-maven2-plugin</artifactId> | ||||
|                 <version>${cargo-maven2-plugin.version}</version> | ||||
|                 <configuration> | ||||
|                     <wait>true</wait> | ||||
|                     <container> | ||||
|                         <containerId>jetty8x</containerId> | ||||
|                         <type>embedded</type> | ||||
|                         <systemProperties> | ||||
|                             <!-- <provPersistenceTarget>cargo</provPersistenceTarget> --> | ||||
|                         </systemProperties> | ||||
|                     </container> | ||||
|                     <configuration> | ||||
|                         <properties> | ||||
|                             <cargo.servlet.port>8082</cargo.servlet.port> | ||||
|                         </properties> | ||||
|                     </configuration> | ||||
|                 </configuration> | ||||
|             </plugin> | ||||
| 			<plugin> | ||||
| 				<groupId>org.codehaus.cargo</groupId> | ||||
| 				<artifactId>cargo-maven2-plugin</artifactId> | ||||
| 				<version>${cargo-maven2-plugin.version}</version> | ||||
| 				<configuration> | ||||
| 					<wait>true</wait> | ||||
| 					<container> | ||||
| 						<containerId>jetty8x</containerId> | ||||
| 						<type>embedded</type> | ||||
| 						<systemProperties> | ||||
| 							<!-- <provPersistenceTarget>cargo</provPersistenceTarget> --> | ||||
| 						</systemProperties> | ||||
| 					</container> | ||||
| 					<configuration> | ||||
| 						<properties> | ||||
| 							<cargo.servlet.port>8082</cargo.servlet.port> | ||||
| 						</properties> | ||||
| 					</configuration> | ||||
| 				</configuration> | ||||
| 			</plugin> | ||||
| 
 | ||||
|         </plugins> | ||||
| 		</plugins> | ||||
| 
 | ||||
|     </build> | ||||
| 	</build> | ||||
| 
 | ||||
|     <properties> | ||||
|         <!-- Spring --> | ||||
|         <org.springframework.version>4.3.1.RELEASE</org.springframework.version> | ||||
|         <org.springframework.security.version>4.0.4.RELEASE</org.springframework.security.version> | ||||
|         <javassist.version>3.20.0-GA</javassist.version> | ||||
|         <jstl.version>1.2</jstl.version> | ||||
| 	<properties> | ||||
| 		<!-- Spring --> | ||||
| 		<org.springframework.version>4.3.1.RELEASE</org.springframework.version> | ||||
| 		<org.springframework.security.version>4.0.4.RELEASE</org.springframework.security.version> | ||||
| 		<javassist.version>3.20.0-GA</javassist.version> | ||||
| 		<jstl.version>1.2</jstl.version> | ||||
| 
 | ||||
|         <!-- persistence --> | ||||
|         <hibernate.version>4.3.11.Final</hibernate.version> | ||||
|         <mysql-connector-java.version>5.1.38</mysql-connector-java.version> | ||||
| 		<!-- persistence --> | ||||
| 		<hibernate.version>4.3.11.Final</hibernate.version> | ||||
| 		<mysql-connector-java.version>5.1.38</mysql-connector-java.version> | ||||
| 
 | ||||
|         <!-- logging --> | ||||
|         <org.slf4j.version>1.7.13</org.slf4j.version> | ||||
|         <logback.version>1.1.3</logback.version> | ||||
| 		<!-- logging --> | ||||
| 		<org.slf4j.version>1.7.13</org.slf4j.version> | ||||
| 		<logback.version>1.1.3</logback.version> | ||||
| 
 | ||||
|         <!-- various --> | ||||
|         <hibernate-validator.version>5.2.2.Final</hibernate-validator.version> | ||||
| 		<!-- various --> | ||||
| 		<hibernate-validator.version>5.2.2.Final</hibernate-validator.version> | ||||
| 
 | ||||
|         <!-- util --> | ||||
|         <guava.version>19.0</guava.version> | ||||
|         <commons-lang3.version>3.4</commons-lang3.version> | ||||
| 		<!-- util --> | ||||
| 		<guava.version>19.0</guava.version> | ||||
| 		<commons-lang3.version>3.4</commons-lang3.version> | ||||
| 
 | ||||
|         <!-- testing --> | ||||
|         <org.hamcrest.version>1.3</org.hamcrest.version> | ||||
|         <junit.version>4.12</junit.version> | ||||
|         <mockito.version>1.10.19</mockito.version> | ||||
| 		<!-- testing --> | ||||
| 		<org.hamcrest.version>1.3</org.hamcrest.version> | ||||
| 		<junit.version>4.12</junit.version> | ||||
| 		<mockito.version>1.10.19</mockito.version> | ||||
| 
 | ||||
|         <httpcore.version>4.4.1</httpcore.version> | ||||
|         <httpclient.version>4.5</httpclient.version> | ||||
| 		<httpcore.version>4.4.1</httpcore.version> | ||||
| 		<httpclient.version>4.5</httpclient.version> | ||||
| 
 | ||||
|         <rest-assured.version>2.9.0</rest-assured.version> | ||||
| 		<rest-assured.version>2.9.0</rest-assured.version> | ||||
| 
 | ||||
|         <!-- maven plugins --> | ||||
|         <maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version> | ||||
|         <maven-war-plugin.version>2.6</maven-war-plugin.version> | ||||
|         <maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version> | ||||
|         <maven-resources-plugin.version>2.7</maven-resources-plugin.version> | ||||
|         <cargo-maven2-plugin.version>1.4.18</cargo-maven2-plugin.version> | ||||
| 		<!-- maven plugins --> | ||||
| 		<maven-compiler-plugin.version>3.5.1</maven-compiler-plugin.version> | ||||
| 		<maven-war-plugin.version>2.6</maven-war-plugin.version> | ||||
| 		<maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version> | ||||
| 		<maven-resources-plugin.version>2.7</maven-resources-plugin.version> | ||||
| 		<cargo-maven2-plugin.version>1.4.18</cargo-maven2-plugin.version> | ||||
| 
 | ||||
|     </properties> | ||||
| 	</properties> | ||||
| 
 | ||||
| </project> | ||||
							
								
								
									
										24
									
								
								spring-all/src/main/java/org/baeldung/ehcache/app/App.java
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								spring-all/src/main/java/org/baeldung/ehcache/app/App.java
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,24 @@ | ||||
| package org.baeldung.ehcache.app; | ||||
| 
 | ||||
| import org.baeldung.ehcache.calculator.SquaredCalculator; | ||||
| import org.baeldung.ehcache.config.CacheHelper; | ||||
| 
 | ||||
| public class App { | ||||
| 
 | ||||
|     public static void main(String[] args) { | ||||
| 
 | ||||
|         SquaredCalculator squaredCalculator = new SquaredCalculator(); | ||||
|         CacheHelper cacheHelper = new CacheHelper(); | ||||
| 
 | ||||
|         squaredCalculator.setCache(cacheHelper); | ||||
| 
 | ||||
|         calculate(squaredCalculator); | ||||
|         calculate(squaredCalculator); | ||||
|     } | ||||
| 
 | ||||
|     private static void calculate(SquaredCalculator squaredCalculator) { | ||||
|         for (int i = 10; i < 15; i++) { | ||||
|             System.out.println("Square value of " + i + " is: " + squaredCalculator.getSquareValueOfNumber(i) + "\n"); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package org.baeldung.ehcache.calculator; | ||||
| 
 | ||||
| import org.baeldung.ehcache.config.CacheHelper; | ||||
| 
 | ||||
| public class SquaredCalculator { | ||||
|     private CacheHelper cache; | ||||
| 
 | ||||
|     public int getSquareValueOfNumber(int input) { | ||||
|         if (cache.getSquareNumberCache().containsKey(input)) { | ||||
|             return cache.getSquareNumberCache().get(input); | ||||
|         } | ||||
| 
 | ||||
|         System.out.println("Calculating square value of " + input + " and caching result."); | ||||
| 
 | ||||
|         int squaredValue = (int) Math.pow(input, 2); | ||||
|         cache.getSquareNumberCache().put(input, squaredValue); | ||||
| 
 | ||||
|         return squaredValue; | ||||
|     } | ||||
| 
 | ||||
|     public void setCache(CacheHelper cache) { | ||||
|         this.cache = cache; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										25
									
								
								spring-all/src/main/java/org/baeldung/ehcache/config/CacheHelper.java
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								spring-all/src/main/java/org/baeldung/ehcache/config/CacheHelper.java
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,25 @@ | ||||
| package org.baeldung.ehcache.config; | ||||
| 
 | ||||
| import org.ehcache.Cache; | ||||
| import org.ehcache.CacheManager; | ||||
| import org.ehcache.config.builders.CacheConfigurationBuilder; | ||||
| import org.ehcache.config.builders.CacheManagerBuilder; | ||||
| import org.ehcache.config.builders.ResourcePoolsBuilder; | ||||
| 
 | ||||
| public class CacheHelper { | ||||
| 
 | ||||
|     private CacheManager cacheManager; | ||||
|     private Cache<Integer, Integer> squareNumberCache; | ||||
| 
 | ||||
|     public CacheHelper() { | ||||
|         cacheManager = CacheManagerBuilder.newCacheManagerBuilder().withCache("squaredNumber", CacheConfigurationBuilder.newCacheConfigurationBuilder(Integer.class, Integer.class, ResourcePoolsBuilder.heap(10))).build(); | ||||
|         cacheManager.init(); | ||||
| 
 | ||||
|         squareNumberCache = cacheManager.getCache("squaredNumber", Integer.class, Integer.class); | ||||
|     } | ||||
| 
 | ||||
|     public Cache<Integer, Integer> getSquareNumberCache() { | ||||
|         return squareNumberCache; | ||||
|     } | ||||
| 
 | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user