初识Spring-boot

  • 微服务这两年很火!
  • 微框架也很火!
  • spring已经火了很多年了!
  • 于是,特别适合开发微服务的spring微框架注定了会很火炎焱燚!


  • 基本原则:约定优于配置

    • 此原则已经提出很多年了,而此原则的很多应用大家都不陌生,java-web、maven。。。等等,约定一个模式,大家都照着做就是了,省的各配置各的;
  • spring boot其实不神秘,没多少新东西,把原来很多必须配置的东西,通过内部设定一个默认值的方式实现自动配置,加上点封装,于是,sb新鲜出炉,sb的宗旨就是让我们能像sb一样使用sb开发应用;


  • 总得说一点好处?

    • 自动配置,无XML - 个人很讨厌左一个xml文件,右一个xml文件的;
    • 内嵌的web服务器 - 这个并不是什么新东西,我们自己也能做到,只不过sb让一切更简单;
    • 提供了许多许多,灰常强大的,使用极度简单的,生产级特性 - 这个好有吸引力;

HelloWorld是程序猿永恒的主题

  • 首先,创建一个maven工程

    pub.tbc
    i-spring-boot
    1.0.0-SNAPSHOT
    
  • 这只是一个普通maven工程,我们要让她变成sb工程:

    
        org.springframework.boot
        spring-boot-starter-parent
        1.4.0.RELEASE
    
    
  • 通过以上继承已经是sb工程了,继承了大量大量大量sb插件,现在,我们启动web插件,将其变成一个web工程:

    
        
            org.springframework.boot
            spring-boot-starter-web
        
    
    
  • OK,现在已经是一个web工程了,再进行一步,添加一个很有用的sb-maven插件 :

    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
    
    

  • 搞定依赖,让我们正式开始编写我们的helloworld吧
  • 因为内嵌了web容器,SO,我们自己写一个启动类:

    @SpringBootApplication
    public class HelloApplication {
        public static void main(String[] args) {
            SpringApplication.run(HelloApplication.class, args);
        }
    }
    
  • 很简单,剩下的,像普通的spring mvc一样写个Controller就可以Hello了:

    @RestController
    public class HelloController {
         @RequestMapping(value = "/hello", method = RequestMethod.GET)
        public Map demo2() {
            return new MapBuilder().put("k1", "v1").toHashMap();
        }
    }
    
  • ok, 整个helloworld结束,直接运行我们的HelloApplication就可以了,
  • 启动后,在浏览器中访问http://localhost:8080/hello

    {
        "k1": "v1"
    }
    
  • 熟悉的JSON出来了;

  • 是不是很简单,没有web.xml,没有application.xml,一切都是那么美好!

扩展

  • 当然,spring-boot并不是只是让我们能方便的开发一个helloworld而已,不配置不代表不能配置,我们可以在application.properties里面做一些简单的配置,如:

    ## server
    server.port=80
    #context-path=/
    ## 日志
    logging.level.root=info
    ## 数据源
    #spring.datasource.driver-class-name
    spring.datasource.url=jdbc:mysql://192.168.1.11:3306/yijiajiao_wares?characterEncoding=utf-8
    spring.datasource.username=root
    spring.datasource.password=root
    ## spring - security
    security.user.name=admin
    security.user.password=admin
    ## mybatis mapper配置文件
    mybatis.mapperLocations=com.eduspace.yijiajiao.mapper/*.xml
    # 别名扫描
    mybatis.typeAliasesPackage=com.eduspace.yijiajiao
    ...
    ...
    
  • 待续…

你可能感兴趣的:(java,springmvc)