一个helloworld带你学完整个springboot

springboot-helloworld项目的搭建

这里使用的IEAD版本为2016.3.2
1.创建一个idea工程,选择Spring Initializr,jdk版本,下一步。
这里写图片描述
2.填写合适的项目信息,具体请参考下图。
这里写图片描述
3.只需要勾选Web栏里的Web,下一步。
这里写图片描述
4.项目初始化完成后,删除下图所选的三项。到这里,一个简单的springboot项目就搭建好了。
这里写图片描述

springboot-helloworld项目的启动方式

首先新建一个HelloController.java

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello(){
        return "hello spring boot!";
    }

}

方式1:直接在以下类里运行这个main函数

@SpringBootApplication
public class SpringbootHelloworldApplication {

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

方式2:用命令行进入到这个项目的所在目录,运行命令:mvn spring-boot:run
这里写图片描述
方式3:用命令行进入到这个项目的所在目录,运行命令:mvn install,编译完后进入到target目录下,会多出来一个springboot-helloworld-0.0.1-SNAPSHOT.jar的文件,执行命令:java -jar springboot-helloworld-0.0.1-SNAPSHOT.jar
这里写图片描述

springboot-helloworld项目的属性配置

resources/application.properties这个配置文件在springboot里建议改为使用application.yml文件,它相对前者来说配置更加简便。
先来看看application.yml的内容:

server:
  port: 8080    #端口号
  context-path: /hello    #项目访问的根路径 

#① 设置基本属性,在controller里使用@Value获取值
firstName: futao
age: 27

#② 在配置里引入配置
content: "(开发环境)my name is ${firstName},and ${age}"

#③ 第①点里属性如果多了的话,配置起来会很麻烦,这里可以更加简化(作为一个分组)
person:
  secondName: yuqiaoyun
  sex: girl
  address: 杭州

先从以上的第①点开始,配置基本属性就可以在controller里使用@Value获取值

@Value("${firstName}")
    private String firstName;
    @Value("${age}")
    private Integer age;

第②点,配置里可以继续引入配置,

@Value("${content}")
private String content;

content属性内容为:(开发环境)my name is futao,and 27
第③点,基本属性如果太多的话,配置起来太麻烦,controller里获取属性值的时候也要不断的新增@Value,代码就会显得很臃肿。这里的第③点采用分组的形式,只需新建一个配置类PersonProperties.java,它的作用就是可以将配置文件里的属性映射到java类属性里。

@Component
@ConfigurationProperties(prefix = "person")//在配置文件里,获取前缀是person的配置
public class PersonProperties {
    private String secondName;
    private Integer age;
    private String address;

    public String getSecondName() {
        return secondName;
    }

    public void setSecondName(String secondName) {
        this.secondName = secondName;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

HelloController.java里调用下即可获取到配置文件里的属性值。

@RestController
public class HelloController {
    @Autowired
    private PersonProperties personProperties;

    @RequestMapping("/hello")
    public String hello(){
        return personProperties.getSecondName();
    }
}

springboot-helloworld项目的环境切换

场景:在公司开发项目一般都是用的开发环境dev,还有测试环境test,而代码要部署现场就得切换成生产环境。我们项目一般要切换到生产环境的时候,不会直接对着application.yml配置文件修改各个属性的值,这样改效率太低,也容易出错,springboot有了很好的解决办法。
首先,将原有的application.yml复制两份出来,分别重命名为application-dev.yml和application-prod.yml。
application.yml内容如下:

spring:
profiles:
active: prod

只需要修改application.yml配置文件里的spring.profiles.active属性值,就能完成环境的切换
如果spring.profiles.active=dev,则配置文件使用application-dev.yml
如果spring.profiles.active=prod,则配置文件使用application-prod.yml
注意:如果配置写在以上application.yml里,表示该配置以及prod配置都能被spring加载。
//未完待续!!!

猜你喜欢

转载自blog.csdn.net/fu123123fu/article/details/79284421
今日推荐