From a7890712b4efea1ffdb728a60e73e5f5c870732f Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Sat, 7 Sep 2013 16:03:00 -0700 Subject: [PATCH] Add project page --- _config.yml | 2 +- _includes/build.gradle | 3 + _includes/pom.xml | 7 ++ img/project-icon-large.png | Bin 0 -> 34266 bytes index.html | 159 +++++++++++++++++++++++++++++++++++++ 5 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 _includes/build.gradle create mode 100644 _includes/pom.xml create mode 100644 img/project-icon-large.png create mode 100644 index.html diff --git a/_config.yml b/_config.yml index bc1bafcadb9..1b42f4e15a4 100644 --- a/_config.yml +++ b/_config.yml @@ -10,7 +10,7 @@ redcarpet: ### The following properties will change on a project-by-project basis # Context path in the remote website (usually /), will be prepended to absolute URLs for static resources -baseurl: /gh-pages +baseurl: /spring-framework # Name of the project for display in places like page titles name: Spring Framework diff --git a/_includes/build.gradle b/_includes/build.gradle new file mode 100644 index 00000000000..13b18e2952d --- /dev/null +++ b/_includes/build.gradle @@ -0,0 +1,3 @@ +dependencies { + compile '{@= groupId @}:spring-context:{@= version @}' +} \ No newline at end of file diff --git a/_includes/pom.xml b/_includes/pom.xml new file mode 100644 index 00000000000..9c43ca1997b --- /dev/null +++ b/_includes/pom.xml @@ -0,0 +1,7 @@ + + + {@= groupId @} + spring-context + {@= version @} + + \ No newline at end of file diff --git a/img/project-icon-large.png b/img/project-icon-large.png new file mode 100644 index 0000000000000000000000000000000000000000..5f2a67b105d5e6b0117256ba3d994a0bc2b39e1e GIT binary patch literal 34266 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 z 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 M07*qoM6N<$f(gS04*&oF literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 00000000000..67f05f586c0 --- /dev/null +++ b/index.html @@ -0,0 +1,159 @@ +--- +# The name of your project +title: Spring Framework + +badges: + + # Specify your project's twitter handle, if any. Delete if none. + twitter: SpringFramework + + # Customize your project's badges. Delete any entries that do not apply. + custom: + - name: Source (GitHub) + url: https://github.com/spring-projects/spring-framework + icon: github + + - name: Issues (JIRA) + url: http://jira.springsource.org/browse/SPR + icon: tracking + + - name: CI (Bamboo) + url: https://build.springsource.org/browse/SPR + icon: ci + + - name: Forum + url: http://forum.spring.io/forum/spring-projects/container + icon: forum + + - name: StackOverflow + url: http://stackoverflow.com/questions/tagged/spring + icon: stackoverflow + +--- + + + +{% capture billboard_description %} +Core support for dependency injection, transaction management, web applications, data access, messaging, testing and more. +{% endcapture %} + +{% capture main_content %} + +## Introduction + +The Spring Framework provides a comprehensive programming and +configuration model for modern Java-based enterprise applications - +on any kind of deployment platform. A key element of Spring is +infrastructural support at the application level: Spring focuses on the +"plumbing" of enterprise applications so that teams can focus on +application-level business logic, without unnecessary ties to specific +deployment environments. + +## Features + +* Dependency Injection +* Aspect-Oriented Programming including Spring's declarative transaction management +* Spring MVC web application and RESTful web service framework +* Foundational support for JDBC, JPA, JMS +* Much more... + + +## Quick Start + +{% include download_widget.md %} + +Spring Framework includes a number of different modules, here we are showing `spring-context` which provides core functionality. Refer to the getting started guides on the right for other options. + +Once you've set up your build with the `spring-context` dependency, you'll be able to do the following: + +`hello/MessageService.java` + +```java +package hello; + +public interface MessageService { + String getMessage(); +} +``` + +
+`hello/MessagePrinter.java` + +```java +package hello; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class MessagePrinter { + + @Autowired + private MessageService service; + + public void printMessage() { + System.out.println(this.service.getMessage()); + } +} +``` + +
+`hello/Application.java` + +```java +package hello; + +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.*; + +@Configuration +@ComponentScan +public class Application { + + @Bean + MessageService mockMessageService() { + return new MessageService() { + public String getMessage() { + return "Hello World!"; + } + }; + } + + public static void main(String[] args) { + ApplicationContext context = + new AnnotationConfigApplicationContext(Application.class); + MessagePrinter printer = context.getBean(MessagePrinter.class); + printer.printMessage(); + } +} +``` + +The example above shows the basic concept of dependency injection, the `MessagePrinter` is +decoupled from the `MessageService` implementation, with Spring Framework wiring everything +together. + + + +{% endcapture %} + +{% capture related_resources %} + +### Getting Started Guides + +* [Building a RESTful Web Service]({{site.main_site_url}}/guides/gs/rest-service) +* [Consuming a RESTful Web Service]({{site.main_site_url}}/guides/gs/consuming-rest) +* [Managing Transactions]({{site.main_site_url}}/guides/gs/managing-transactions) +* [Accessing Relational Data using JDBC with Spring]({{site.main_site_url}}/guides/gs/relational-data-access) +* [Scheduling Tasks]({{site.main_site_url}}/guides/gs/scheduling-tasks) +* [Serving Web Content]({{site.main_site_url}}/guides/gs/serving-web-content) +* [Validating Form Input]({{site.main_site_url}}/guides/gs/validating-form-input) +* [Messaging with JMS]({{site.main_site_url}}/guides/gs/messaging-jms) + +### Tutorials + +* [Designing and Implementing RESTful Web Services with Spring]({{site.main_site_url}}/guides/tutorials/rest) + +{% endcapture %} + +{% include project_page.html %} + \ No newline at end of file