springboot入门

1.SpringBoot是什么?
  
  Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。

  同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑
  
  注1:敏捷式开发
  注2:spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,
        就像maven整合了所有的jar包,spring boot整合了所有的框架

  spring cloud/dubbo
  注3:>=jdk1.8


2.使用Idea配置SpringBoot项目

  2.1 创建SpringBoot项目
  File-->New-->Project...
  Spring Initializr
  Maven Project
  Web

 

2.2 目录结构
  
  src/main/java:主程序入口 Application,可以通过直接运行该类来启动Spring Boot应用

src/main/resources:配置目录,该目录用来存放应用的一些配置信息,比如应用名、服务端口、数据库配置等。由于我们应用了Web模块,因此产生了 static目录与templates目录,前者用于存放静态资源,如图片、CSS、JavaScript等;后者用于存放Web页面的模板文件。
src/test:单元测试目录,生成的 ApplicationTests 通过 JUnit4实现,可以直接用运行 Spring Boot应用的测试。

  
  application.properties/application.yml    用于存放程序的各种依赖模块的配置信息,比如 服务端口,数据库连接配置等。。。

   注1:包和类不能乱改,只能在com.zking.springboot01建子包,
        因为程序只加载Application.java所在包及其子包下的内容
   com.zking.springboot01
                        controller
                        service
                        mapper
                        model

2.3 springboot的配置修改
   application.properties-->application.yml
   server.port=80
   #server.context-path=/s01
   server.servlet.context-path=/s01

   @RestController=@Controller+@ResponseBody

 注1:application.yml,yml是什么格式?

分模块

server:
  port: 8081
  servlet:
    context-path: /springboot


mysql:
  driver: com.mysql.jdbc.driver
  url: jdbc:mysql://localhost:3306/db_ssm?useUnicode=true&characterEncoding=UTF-8
  user-name: root
  password: 123

application.yml和application.properties区别?
  yml文件的好处,天然的树状结构,一目了然,实质上跟properties是差不多的。

  配置application.yml文件注意事项:
  1) 原有的key,例如spring.mybatis.xxx,按“.”分割,都变成树状的配置
  2) key后面的冒号,后面一定要跟一个空格
  3) 把原有的application.properties删掉。然后一定要执行一下  maven -X clean install

   
   自定义属性

package com.xxx.springboot01.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.zking.springboot01.entity.mysqlEntity;

import javax.annotation.Resource;

/**
 * @author Zhang
 */
@Controller
public class HelloController {
    @Value("${mysql.driver}")
    private String driver;
    @Value("${mysql.url}")
    private String url;
    @Value("${mysql.username}")
    private String username;
    @Value("${mysql.password}")
    private String password;

    @Resource
    private mysqlEntity mysqlEntity;


    @ResponseBody
    @RequestMapping("/")
    public String hello(){
        return "hello springboot";
    }


    @ResponseBody
    @RequestMapping("/mysql1")
    public String mysql1(){
        return this.driver+"<br/>"+this.url+"<br/>"+this.username+"<br/>"+this.password+"<br/>";
    }

    
}


   属性封装类

package com.xxx.springboot01.entity;

import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @author Zhang
 */
@ToString
@Component
@ConfigurationProperties(prefix = "mysql")
public class mysqlEntity {
    private String driver;
    private String url;
    private String username;
    private String password;


    public String getDriver() {
        return driver;
    }

    public void setDriver(String driver) {
        this.driver = driver;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
@Resource
    private mysqlEntity mysqlEntity;

@ResponseBody
    @RequestMapping("/mysql2")
    public mysqlEntity mysqlEntity(){
        return this.mysqlEntity;
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值