SpringBoot介绍

1. SpringBoot介绍

1.1 为什么要使用SpringBoot?

1.1.1没有SpringBoot存在的一些问题?

1.1 SSM架构中配置文件太多(eg:spring事务配置文件、spring dao配置文件、spring mvc配置文件等,然后在web.xml文件中加载配置文件)

1.2 jar包的版本不好控制,容易出现jar包冲突,需要自己统一进行管理

1.3 需要额外的servlet容器(tomcat)

以上这些缺点,增加了开发难度,降低了开发速度。

使用SpringBoot可以解决以上问题:

  1. 不需要配置文件

  2. 版本由SpringBoot统一管理

  3. SpringBoot内部嵌入了tomcat等servlet容器

1.2 什么是SpringBoot?

​ springboot 就是一个基于spring的一个框架。提供了一些自动配置的依赖包,自动嵌入servlet的容器,简化了我们开发的配置,提升开发人员的开发效率,并解决了包依赖的问题。

1.3 SpringBoot入门

需求:在页面显示Hello World!

1.spring mvc实现此需求:

  1. 加入依赖

  2. 配置文件:springmvc.xml:

    2.1 组件扫描

    2.2 注解驱动

    2.3 视图解析器

  3. 编写controller实现逻辑

  4. web.xml加载配置文件

  5. tomcat发布一下

2.springboot实现此需求:

  1. 加入parent工程

  2. 加入起步依赖

  3. 创建启动类

  4. 加入parent工程

<!--添加parent工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
    </parent>
  1. 加入起步依赖
<dependencies>
        <!--添加起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
  1. 创建启动类
/**
 *
 *SpringBoot入门
 * @author Lyle
 * @date 2021/4/19
 */
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class,args);
    }
}
  1. 测试
/**
 * 测试
 * 访问路径:http://localhost:8080/test/hello
 * @author Lyle
 * @date 2021/4/19
 */
@RestController
@RequestMapping("/test")
public class TestController {

    @RequestMapping("/hello")
    public String showHello(){
        return "Hello World!";
    }
}

1.4 SpringBoot版本控制原理

​ 在上述入门Demo中,我们添加了父工程parent,该版本约束了我们所需要添加的其他依赖的版本,会自动配置与之匹配的jar包版本;所以不需要我们再额外去进行版本的管理。

1.5 SpringBoot配置文件

  1. application.properties
      application.yml或者application.yaml
      推荐使用application.yml;
  2. 具体的使用实例:
"#"号表示注释
  # 配置端口号,注意port:和8081之间要有空格
  server:
    port: 8081

  #简单的key=value形式
  name: zhangsan

  #数组形式,使用 - 来区分不同的元素, 元素可以是基本类型,字符串和对象类型
  cities:
    - beijing
    - shenzhen
    - changsha

  #集合类型,元素是复杂的数据类型,eg:List<Student> students;
  students:
    - name: zhangsan
    age: 18
    address: beijing

    - name: lisi
    age: 20
    address: shenzhen

    - name: ww
    age: 30
    address: changsha

  # Map集合形式,使用比较少
  maps: {"name": "zhangsan","age": "18"}

  #参数引用
  person:
    name: ${name} # 该值可以获取到上边的name定义的值:zhangsan
    age: 12

4. 获取配置文件中的值

  1. @Value形式获取简单值:
  4.1 获取简单的key=value形式
    @Value("${name}")
    private String name;

  4.2 根据索引获取数组中的值
    @Value("${cities[1]}")
    private String city1;

  4.3 获取集合中第一个元素中属性的值
    @Value("${students[0].address}")
    private String address;

  4.4 获取Map中的值
    @Value("{maps.name}")
    private String mapsname;

  4.5 获取person中name的值
    @Value("${person.name}")
    private String personname;

 

  

  2. 使用spring中的Environment获取值:
    在类中注入Environment对象:
      @Autowired
      private Environment environment;
    使用Environment中的getProperty()方法;

  3. @ConfigurationProperties方式获取值:
    创建POJO,并使用注解@Component将pojo交给spring来管理;
    使用注解@ConfigurationProperties来建立pojo和配置文件的映射;
    在类中注入POJO,通过pojo的get方法来获取对应的值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值