zoukankan      html  css  js  c++  java
  • SpringBoot学习<一>——快速搭建SpringBoot

      这是我的第一篇博客,博客记录我以后的学习,包括一些总结之类的东西,当然,这些记录是针对于与我个人而言的,可能有些地方会有不好的,或者出现错误,欢迎大家来指正(如果有人看的话)废话不多说。进入正题:SpringBoot

      当我在学习SSM框架的时候,先不谈Spring的一些核心开年,比如DI ,IOC,AOP等等,只是刚开始它的那些配置就让我觉得很头痛,在网上看了很多配置,但是很杂,而我自己在看了这些很杂的配置后,自己慢慢总结了配置,但也花了不少时间才真正的去弄懂它,不过这已经让我这个对设计思想一无所知的菜鸟来说, 我还不如直接new一个对象呢,虽然知道这种想法是很蠢,却足以说明我对Spring这些配置的头痛了,更不要说还要去整合mybaits的配置。显然,我这种菜鸟都能考虑到这点,Pivotal公司不可能考虑不到,所以出现了一种新的东西,SpringBoot,这对于我来说,简直就是Spring,当然,SpringBoot不是一种新的技术,只是一种自动整合了很多在开发中需要的配置,让我们这种菜鸟再也不要去为这些配置去烦心了(可能仅仅只是我)。

       Spring官方提供SpringBoot的Eclipse插件去开发,不过,本人因为有一次使用Spring的插件觉得麻烦,就一直不想用着东西,所以还是用Eclipse原生的东西去学习。那么,我们开始快速的搭建一个SpringBoot的demo吧

       首先,先看Maven的POM文件:

    <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.sam.springboot</groupId>
    	<artifactId>springboot-demo-02</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    
    	<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent -->
    	<!-- springboot项目的父工程包 -->
    	<parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>1.4.0.RELEASE</version>
    	</parent>
    	<!-- 指定UTF-8字符集和java 1.8 的编译 -->
    	<properties>
    		<project.bulid.sourceEncoding>UTF-8</project.bulid.sourceEncoding>
    		<project.reproting.outputEncoding>UTF-8</project.reproting.outputEncoding>
    		<java.version>1.8</java.version>
    	</properties>
    
    	<dependencies>
    		<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
    		<!-- springboot 的web jar包 -->
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-web</artifactId>
    		</dependency>
    
            <!-- springboot 的test jar包 -->
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-test</artifactId>
    			<scope>test</scope>
    		</dependency>
    		<!-- springboot 的开发工具包   可选 -->
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-devtools</artifactId>
    		</dependency>
    
    	</dependencies>
    
    	<build>
    		<plugins>
    		    <!-- springboot的打包插件 -->
    			<plugin>
    				<groupId>org.springframework.boot</groupId>
    				<artifactId>spring-boot-maven-plugin</artifactId>
    			</plugin>
    		</plugins>
    	</build>
    	<packaging>war</packaging>
    </project>

     官方建议springboot用gradle来管理jar,不过我一直用的Maven,所以就这么用吧,代码里面注释说的很清楚,我就不在解释,只是parent的这个可以还有一种方式 ,不过一般都用这种方式,另一种需要了解的可以去网上找。

    然后我们建SpringBoot的程序入口

    package com.sam.springboot;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class,args);
        }
    }

    这样就可以啦 ,我们运行的时候像平常运行main方法就行啦。注意注解@SpringBootApplication,这个注解开启自动配置,有兴趣可以点进里面去看下,它集合了几个注解,还有一点值得注意的是,这个入口类的位置必须得是在其他类上面的包上,因为他会有一个扫描的注解去扫描其他包。

        然后我们在建一个Controller层:

    最后我们启动会出现一个SpringBoot的标志。然后看日志后面,基本就启动成功了,访问我们的路径,就OK了,tomcat是嵌入式的,默认端口为8080,容易吧!是不是感觉比以前的配置好的多,不过如果你没有学spring基础的东西,那么springboot报 了错你也会一无所知。

    @RestController
    @RequestMapping("/demo/")
    public class DemoController {
    	
    	@Value(value="${sam.secret}")
    	private String secret;
    
    	@Value(value="${sam.number}")
    	private Integer number;
    	
    	@RequestMapping()
    	public String demo() {
    		return "Hello SpringBoot!";
    	}
    	
    	@RequestMapping("name")
    	public Map<String, String> sayHello(@RequestParam("name") String name) {
    		Map<String, String> map = new HashMap<>();
    		map.put("name", name);
    		map.put("value", "Hello "+name);
    		map.put("secret", secret);
    		map.put("number", number.toString());
    		System.out.println(number);
    		return map;
    	}
    热爱生活,积极进取!
  • 相关阅读:
    DeepLearning之路(三)MLP
    DeepLearning之路(二)SoftMax回归
    DeepLearning之路(一)逻辑回归
    自然语言处理工具
    一个 11 行 Python 代码实现的神经网络
    对联广告
    Java多线程
    QT数据库操作
    QT笔记
    C++基础入门
  • 原文地址:https://www.cnblogs.com/samluby/p/7858381.html
Copyright © 2011-2022 走看看