Skip to content

Commit 67665cf

Browse files
SpringBootWebMvcProfileExample
1 parent 7d380e0 commit 67665cf

18 files changed

+610
-0
lines changed
+121
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
5+
http://maven.apache.org/xsd/maven-4.0.0.xsd">
6+
7+
<modelVersion>4.0.0</modelVersion>
8+
9+
<groupId>SpringBootWebMvcProfileExample</groupId>
10+
<artifactId>SpringBootWebMvcProfileExample</artifactId>
11+
<version>1.0-SNAPSHOT</version>
12+
13+
<parent>
14+
<groupId>org.springframework.boot</groupId>
15+
<artifactId>spring-boot-starter-parent</artifactId>
16+
<version>1.3.1.RELEASE</version>
17+
</parent>
18+
19+
<organization>
20+
<name>ESpark</name>
21+
<url>http://adarshkumarsingh83.blogspot.in/</url>
22+
</organization>
23+
24+
<licenses>
25+
<license>
26+
<name>ESpark</name>
27+
<url>http://adarshkumarsingh83.blogspot.in/licenses/LICENSE-2.0.txt</url>
28+
<distribution>repo</distribution>
29+
</license>
30+
</licenses>
31+
32+
<developers>
33+
<developer>
34+
<id>adarshkumarsingh83</id>
35+
<name>Adarsh Kumar</name>
36+
<email>adarshkumarsingh83@gmail.com</email>
37+
<roles>
38+
<role>project architect</role>
39+
</roles>
40+
</developer>
41+
</developers>
42+
43+
<repositories>
44+
<repository>
45+
<id>maven2-repository.java.net</id>
46+
<name>Java.net Repository for Maven</name>
47+
<url>http://download.java.net/maven/2/</url>
48+
</repository>
49+
50+
<repository>
51+
<id>JBoss repository</id>
52+
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
53+
</repository>
54+
55+
<repository>
56+
<id>java.net</id>
57+
<url>https://maven.java.net/content/repositories/public/</url>
58+
</repository>
59+
60+
</repositories>
61+
62+
<properties>
63+
<project.name>SpringBootWebMvcProfileExample</project.name>
64+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
65+
<java.version>1.7</java.version>
66+
</properties>
67+
68+
<dependencies>
69+
70+
<dependency>
71+
<groupId>org.springframework.boot</groupId>
72+
<artifactId>spring-boot-starter-web</artifactId>
73+
</dependency>
74+
<dependency>
75+
<groupId>org.springframework.boot</groupId>
76+
<artifactId>spring-boot-starter-tomcat</artifactId>
77+
<scope>provided</scope>
78+
</dependency>
79+
<dependency>
80+
<groupId>org.apache.tomcat.embed</groupId>
81+
<artifactId>tomcat-embed-jasper</artifactId>
82+
<scope>provided</scope>
83+
</dependency>
84+
85+
<dependency>
86+
<groupId>javax.servlet</groupId>
87+
<artifactId>javax.servlet-api</artifactId>
88+
<scope>compile</scope>
89+
</dependency>
90+
91+
<dependency>
92+
<groupId>javax.servlet</groupId>
93+
<artifactId>jstl</artifactId>
94+
</dependency>
95+
<dependency>
96+
<groupId>org.springframework.boot</groupId>
97+
<artifactId>spring-boot-starter-test</artifactId>
98+
<scope>test</scope>
99+
</dependency>
100+
101+
</dependencies>
102+
103+
<build>
104+
<finalName>${project.name}</finalName>
105+
<outputDirectory>target/classes</outputDirectory>
106+
<plugins>
107+
<plugin>
108+
<artifactId>maven-compiler-plugin</artifactId>
109+
<configuration>
110+
<source>${java.version}</source>
111+
<target>${java.version}</target>
112+
<encoding>${project.build.sourceEncoding}</encoding>
113+
</configuration>
114+
</plugin>
115+
<plugin>
116+
<groupId>org.springframework.boot</groupId>
117+
<artifactId>spring-boot-maven-plugin</artifactId>
118+
</plugin>
119+
</plugins>
120+
</build>
121+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
3+
mvn clean install
4+
mvn spring-boot:run
5+
url => http://localhost:8080
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/*
2+
* Copyright (c) 2015 Espark And ©Adarsh Development Services @copyright All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without
5+
* modification, are permitted provided that the following conditions
6+
* are met:
7+
*
8+
* - Redistributions of source code must retain the above copyright
9+
* notice, this list of conditions and the following disclaimer.
10+
*
11+
* - Redistributions in binary form must reproduce the above copyright
12+
* notice, this list of conditions and the following disclaimer in the
13+
* documentation and/or other materials provided with the distribution.
14+
*
15+
* - Neither the name of Espark nor the names of its
16+
* contributors may be used to endorse or promote products derived
17+
* from this software without specific prior written permission.
18+
*
19+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20+
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21+
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25+
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26+
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30+
*/
31+
package com.espark.adarsh.configuration;
32+
33+
import org.springframework.boot.SpringApplication;
34+
import org.springframework.boot.autoconfigure.SpringBootApplication;
35+
import org.springframework.boot.builder.SpringApplicationBuilder;
36+
import org.springframework.boot.context.web.SpringBootServletInitializer;
37+
import org.springframework.context.annotation.ComponentScan;
38+
/**
39+
* @author Adarsh Kumar
40+
* @author $LastChangedBy: Adarsh Kumar$
41+
* @version $Revision: 0001 $, $Date:: 1/1/10 0:00 AM#$
42+
* @Espark @copyright all right reserve
43+
*/
44+
@SpringBootApplication
45+
@ComponentScan("com.espark.adarsh")
46+
public class WebMvcJspApplication extends SpringBootServletInitializer {
47+
48+
@Override
49+
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
50+
return application.sources(WebMvcJspApplication.class);
51+
}
52+
53+
public static void main(String[] args) throws Exception {
54+
SpringApplication.run(WebMvcJspApplication.class, args);
55+
}
56+
57+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
package com.espark.adarsh.service;
3+
4+
public interface MessageService {
5+
6+
public String getMessage();
7+
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
2+
package com.espark.adarsh.service.devlopment;
3+
4+
import com.espark.adarsh.service.MessageService;
5+
import org.springframework.beans.factory.annotation.Value;
6+
import org.springframework.context.annotation.Profile;
7+
import org.springframework.stereotype.Component;
8+
9+
@Component
10+
@Profile("development")
11+
public class MessageServiceImpl implements MessageService {
12+
13+
@Value("${spring.profile.development.message}")
14+
private String message;
15+
16+
@Override
17+
public String getMessage() {
18+
return this.message + " " +System.getProperty("user.name");
19+
}
20+
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
2+
package com.espark.adarsh.service.production;
3+
4+
import com.espark.adarsh.service.MessageService;
5+
import org.springframework.beans.factory.annotation.Value;
6+
import org.springframework.context.annotation.Profile;
7+
import org.springframework.stereotype.Component;
8+
9+
@Component
10+
@Profile("production")
11+
public class MessageServiceImpl implements MessageService {
12+
13+
@Value("${spring.profile.production.message}")
14+
private String message;
15+
16+
@Override
17+
public String getMessage() {
18+
return this.message + " " +System.getProperty("user.name");
19+
}
20+
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
2+
3+
package com.espark.adarsh.service.testing;
4+
5+
import com.espark.adarsh.service.MessageService;
6+
import org.springframework.beans.factory.annotation.Value;
7+
import org.springframework.context.annotation.Profile;
8+
import org.springframework.stereotype.Component;
9+
10+
@Component
11+
@Profile("testing")
12+
public class MessageServiceImpl implements MessageService {
13+
14+
@Value("${spring.profile.testing.message}")
15+
private String message;
16+
17+
@Override
18+
public String getMessage() {
19+
return this.message + " " + System.getProperty("user.name");
20+
}
21+
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/*
2+
* Copyright (c) 2015 Espark And ©Adarsh Development Services @copyright All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without
5+
* modification, are permitted provided that the following conditions
6+
* are met:
7+
*
8+
* - Redistributions of source code must retain the above copyright
9+
* notice, this list of conditions and the following disclaimer.
10+
*
11+
* - Redistributions in binary form must reproduce the above copyright
12+
* notice, this list of conditions and the following disclaimer in the
13+
* documentation and/or other materials provided with the distribution.
14+
*
15+
* - Neither the name of Espark nor the names of its
16+
* contributors may be used to endorse or promote products derived
17+
* from this software without specific prior written permission.
18+
*
19+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20+
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21+
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25+
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26+
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30+
*/
31+
package com.espark.adarsh.web;
32+
33+
import com.espark.adarsh.service.MessageService;
34+
import org.springframework.beans.factory.annotation.Autowired;
35+
import org.springframework.beans.factory.annotation.Value;
36+
import org.springframework.stereotype.Controller;
37+
import org.springframework.web.bind.annotation.RequestMapping;
38+
import org.springframework.web.bind.annotation.RequestMethod;
39+
40+
import java.util.Date;
41+
import java.util.Map;
42+
/**
43+
* @author Adarsh Kumar
44+
* @author $LastChangedBy: Adarsh Kumar$
45+
* @version $Revision: 0001 $, $Date:: 1/1/10 0:00 AM#$
46+
* @Espark @copyright all right reserve
47+
*/
48+
@Controller
49+
public class WelcomeController {
50+
51+
@Value("${application.message}")
52+
private String message;
53+
54+
55+
@Autowired
56+
private MessageService messageService;
57+
58+
@RequestMapping(value={"/","/welcome"},method = RequestMethod.GET)
59+
public String welcome(Map<String, Object> model) {
60+
model.put("time", new Date());
61+
model.put("message", this.message+" "+ System.getProperty("user.name"));
62+
model.put("profile", this.messageService.getMessage());
63+
return "welcome";
64+
}
65+
66+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
spring.mvc.view.prefix= /WEB-INF/jsp/
2+
spring.mvc.view.suffix= .jsp
3+
application.message=welcome to the application
4+
server.port=8080
5+
6+
banner.location=espark.txt
7+
8+
#spring.profiles.active=development
9+
#spring.profiles.active=production
10+
spring.profiles.active=testing
11+
12+
spring.profile.production.message= welcome to the production profile
13+
spring.profile.development.message= welcome to the development profile
14+
spring.profile.testing.message= welcome to the testing profile
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
===================================================================================================================================================
2+
***************************************************************************************************************************************************
3+
${Ansi.RED}
4+
_____ _ _____ _ _ _ _
5+
| ___| | | |_ _| | | (_) | | | |
6+
| |__ ___ _ __ __ _ _ __| | __ | | _ __ _ __ _____ ____ _| |_ _ ___ _ __ | | __ _| |__ ___
7+
| __/ __| '_ \ / _` | '__| |/ / | || '_ \| '_ \ / _ \ \ / / _` | __| |/ _ \| '_ \ | | / _` | '_ \/ __|
8+
| |__\__ \ |_) | (_| | | | < _| || | | | | | | (_) \ V / (_| | |_| | (_) | | | | | |___| (_| | |_) \__ \
9+
\____/___/ .__/ \__,_|_| |_|\_\ \___/_| |_|_| |_|\___/ \_/ \__,_|\__|_|\___/|_| |_| \_____/\__,_|_.__/|___/
10+
| |
11+
|_|
12+
___ _ _ _ __
13+
/ _ \ | | | | | | / /
14+
/ /_\ \ __| | __ _ _ __ ___| |__ | |/ / _ _ _ __ ___ __ _ _ __
15+
| _ |/ _` |/ _` | '__/ __| '_ \ | \| | | | '_ ` _ \ / _` | '__|
16+
| | | | (_| | (_| | | \__ \ | | | | |\ \ |_| | | | | | | (_| | |
17+
\_| |_/\__,_|\__,_|_| |___/_| |_| \_| \_/\__,_|_| |_| |_|\__,_|_|
18+
***************************************************************************************************************************************************
19+
===================================================================================================================================================

0 commit comments

Comments
 (0)