@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Bean
    public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
        return args -> {

            System.out.println("Let's inspect the beans provided by Spring Boot:");

            String[] beanNames = ctx.getBeanDefinitionNames();
            Arrays.sort(beanNames);
            for (String beanName : beanNames) {
                System.out.println(beanName);
            }

        };
    }

}

        

@SpringBootApplication
public class DemoApplication implements ApplicationRunner {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
   @Override
   public void run(ApplicationArguments arg0) throws Exception {
      System.out.println("Hello World from Application Runner");
   }
}

        

@SpringBootApplication
public class SpringBootConsoleApplication 
  implements CommandLineRunner {
 
    private static Logger LOG = LoggerFactory
      .getLogger(SpringBootConsoleApplication.class);
 
    public static void main(String[] args) {
        LOG.info("STARTING THE APPLICATION");
        SpringApplication.run(SpringBootConsoleApplication.class, args);
        LOG.info("APPLICATION FINISHED");
    }
  
    @Override
    public void run(String... args) {
        LOG.info("EXECUTING : command line runner");
  
        for (int i = 0; i < args.length; ++i) {
            LOG.info("args[{}]: {}", i, args[i]);
        }
    }
}

        

@SpringBootApplication
public class SpringBootConsoleApplication implements CommandLineRunner {

    public static void main(String[] args) throws Exception {

        SpringApplication.run(SpringBootConsoleApplication.class, args);
		
    }

    //access command line arguments
    @Override
    public void run(String... args) throws Exception {
	
        //do something
		
    }
}

        

@SpringBootApplication
public class HelloWorldApplication {
    public static void main (String[] args) {
        ApplicationContext ctx =
                    SpringApplication.run(HelloWorldApplication.class, args);

    }
}

        

@SpringBootApplication
@EnableJms
public class Application {


    @Bean // Strictly speaking this bean is not necessary as boot creates a default
    JmsListenerContainerFactory<?> myJmsContainerFactory(ConnectionFactory connectionFactory) {
        SimpleJmsListenerContainerFactory factory = new SimpleJmsListenerContainerFactory();
        factory.setConnectionFactory(connectionFactory);
        return factory;
    }

    public static void main(String[] args) {
        // Clean out any ActiveMQ data from a previous run
        FileSystemUtils.deleteRecursively(new File("activemq-data"));

        // Launch the application
        ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);

        // Send a message
        MessageCreator messageCreator = new MessageCreator() {
            @Override
            public Message createMessage(Session session) throws JMSException {
                return session.createTextMessage("ping!");
            }
        };
        JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);
        System.out.println("Sending a new message.");
        jmsTemplate.send("mailbox-destination", messageCreator);
    }

}

        

@SpringBootApplication(exclude = { HibernateJpaAutoConfiguration.class, JpaRepositoriesAutoConfiguration.class,
		BatchAutoConfiguration.class })
@EnableConfigurationProperties({ResourceResolverProperties.class, SquashPathProperties.class})
@EnableWebSecurity
@ImportResource({"classpath*:META-INF/spring/dynamicdao-context.xml", "classpath*:META-INF/spring/dynamicmanager-context.xml"})
public class SquashTm {
	private static final Logger LOGGER = LoggerFactory.getLogger(SquashTm.class);

	public static void main(String[] args) {
		new SpringApplication(SquashTm.class).run(args);
	}

}

        

@SpringBootApplication
@EnableSwagger2   //<1>
@ComponentScan(basePackageClasses = {PetController.class})    //<2>
public class Swagger2SpringBoot {

  public static void main(String[] args) {
    ApplicationContext ctx = SpringApplication.run(Swagger2SpringBoot.class, args);
  }

  @Bean
  public Docket petApi() {
    return new Docket(DocumentationType.SWAGGER_2)    //<3>
            .select()   //<4>
            .build();   //<5>
  }
}

        

@SpringBootApplication
@EnableJms
public class Application {


    @Bean // Strictly speaking this bean is not necessary as boot creates a default
    JmsListenerContainerFactory<?> myJmsContainerFactory(ConnectionFactory connectionFactory) {
        SimpleJmsListenerContainerFactory factory = new SimpleJmsListenerContainerFactory();
        factory.setConnectionFactory(connectionFactory);
        return factory;
    }

    public static void main(String[] args) {
        // Clean out any ActiveMQ data from a previous run
        FileSystemUtils.deleteRecursively(new File("activemq-data"));

        // Launch the application
        ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);

        // Send a message
        MessageCreator messageCreator = new MessageCreator() {
            @Override
            public Message createMessage(Session session) throws JMSException {
                return session.createTextMessage("ping!");
            }
        };
        JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);
        System.out.println("Sending a new message.");
        jmsTemplate.send("mailbox-destination", messageCreator);
    }
}

        

@SpringBootApplication
public class CoreApplication implements CommandLineRunner {

    @Autowired
    private CustomerRepository customerRepository;

    @Autowired
    private ProductRepository productRepository;

    public static void main(String[] args) {
        SpringApplication.run(CoreApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        this.customerRepository.deleteAll();
        this.productRepository.deleteAll();
        // save a couple of customers
        Address address = new Address();
        address.setZip("2119");
        this.customerRepository.save(new Customer("Tester", "Smith", new Address()));
        this.customerRepository.save(new Customer("Again", "Smith", new Address()));

        Customer test = this.customerRepository.findByFirstName("Alice");


        long count = this.customerRepository.count();
        System.out.println(count + " customers in the repo");

        Product product = new Product();
        product.setSku("11234A");
        product.setTitle("Hard Times");
        product.setType("Book");
        product.setProductDetails(productDetails()).setPricing(pricing());
        product.setShipping(shipping());
        productRepository.save(product);

        Product found = productRepository.findBySku("11234A");
        System.out.println(found);

    }

    private ProductDetails productDetails() {
        ProductDetails details = new ProductDetails();
        details.setTitle("Hard Times");
        details.setGenre("Classic Fiction");
        return details;
    }

    private Pricing pricing() {
        Pricing pricing = new Pricing();
        pricing.setListPrice(1000);
        pricing.setRetailPrice(900);
        return pricing;
    }

    private Shipping shipping() {
        Shipping shipping = new Shipping();
        shipping.setDepth(10);
        shipping.setWeight(1000);
        shipping.setHeight(2);
        shipping.setWidth(30);
        return  shipping;
    }

}        
main