Close

Spring Boot - Starters dependencies Examples

Spring Boot 

In this example we are using spring-boot-starter and commons-collections dependencies. We are also changing versions in pom properties.

package com.logicbig.example;

import org.apache.commons.collections.Bag;
import org.apache.commons.collections.bag.HashBag;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class ApplicationExample {
@Bean
public MyBean myBean () {
return new MyBean();
}

public static void main (String[] args) {
ApplicationContext ctx =
SpringApplication.run(ApplicationExample.class, args);
MyBean bean = ctx.getBean(MyBean.class);
bean.doSomething();
}

private static class MyBean {

public void doSomething () {
Bag bag = new HashBag();
bag.add("ONE", 6);
System.out.println("Doing something in MyBean");
System.out.println(bag);
}
}
}

Output


. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.4.2.RELEASE)

2017-05-01 16:10:14.662 INFO 7700 --- [nExample.main()] com.logicbig.example.ApplicationExample : Starting ApplicationExample on JoeMsi with PID 7700 (D:\LogicBig\example-projects\spring-boot\spring-boot-starter-example\target\classes started by Joe in D:\LogicBig\example-projects\spring-boot\spring-boot-starter-example)
2017-05-01 16:10:14.664 INFO 7700 --- [nExample.main()] com.logicbig.example.ApplicationExample : No active profile set, falling back to default profiles: default
2017-05-01 16:10:15.263 INFO 7700 --- [nExample.main()] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2017-05-01 16:10:15.275 INFO 7700 --- [nExample.main()] com.logicbig.example.ApplicationExample : Started ApplicationExample in 0.89 seconds (JVM running for 2.994)
Doing something in MyBean
[6:ONE]
2017-05-01 16:10:15.362 INFO 7700 --- [ Thread-1] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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.logicbig.example</groupId>
<artifactId>spring-boot-starter-example</artifactId>
<version>1.0-SNAPSHOT</version>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
</parent>

<properties>
<java.version>1.8</java.version>
<commons-collections.version>3.2.1</commons-collections.version>
<spring.version>4.3.2.RELEASE</spring.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
</dependencies>
</project>
Original Post




In this example we are importing spring-boot-dependencies rather than inheriting spring-boot-starter-parent pom.

package com.logicbig.example;

import org.apache.commons.collections.Bag;
import org.apache.commons.collections.bag.HashBag;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class ApplicationExample {
@Bean
public MyBean myBean () {
return new MyBean();
}

public static void main (String[] args) {
ApplicationContext ctx =
SpringApplication.run(ApplicationExample.class, args);
MyBean bean = ctx.getBean(MyBean.class);
bean.doSomething();
}

private static class MyBean {

public void doSomething () {
Bag bag = new HashBag();
bag.add("ONE", 6);
System.out.println("Doing something in MyBean");
System.out.println(bag);
}
}
}

Output


. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.4.2.RELEASE)

2017-05-01 16:10:11.486 INFO 18232 --- [nExample.main()] com.logicbig.example.ApplicationExample : Starting ApplicationExample on JoeMsi with PID 18232 (D:\LogicBig\example-projects\spring-boot\spring-boot-parent-pom-import\target\classes started by Joe in D:\LogicBig\example-projects\spring-boot\spring-boot-parent-pom-import)
2017-05-01 16:10:11.489 INFO 18232 --- [nExample.main()] com.logicbig.example.ApplicationExample : No active profile set, falling back to default profiles: default
2017-05-01 16:10:12.065 INFO 18232 --- [nExample.main()] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2017-05-01 16:10:12.073 INFO 18232 --- [nExample.main()] com.logicbig.example.ApplicationExample : Started ApplicationExample in 0.887 seconds (JVM running for 2.813)
Doing something in MyBean
[6:ONE]
2017-05-01 16:10:12.185 INFO 18232 --- [ Thread-1] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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.logicbig.example</groupId>
<artifactId>spring-boot-parent-pom-import</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<java.version>1.8</java.version>
<commons-collections.version>3.2.1</commons-collections.version>
<spring.version>4.3.2.RELEASE</spring.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.4.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
</dependencies>

</project>
Original Post




See Also