spring-boot学习笔记

Posted Lee_Sung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-boot学习笔记相关的知识,希望对你有一定的参考价值。

spring-boot搭建与配置

1. 搭建框架

maven构建的最基本框架

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

注意:

@SpringBootApplication
public class BootApplication 
    public static void main(String[] args)
        //程序入口的类类型必须是包含主方法的类的类型
        SpringApplication.run(BootApplication.class, args);
    

2.配置

2.1 主配置

springboot的默认配置有两种形式,resource/application.properties和resource/application.yml两种,文件名默认为application,改名失效,可以在主程序入口读取配置文件。

@SpringBootApplication
public class SpringbootApp 
    public static void main(String[] args) 
        //变更配置文件读取位置启动
        new SpringbootApp(SpringbootApp.class)
        .properties("spring.config.location=classpath:/springbootconfig.properties").run(args);
        //读取默认配置文件启动
        //SpringApplication.run(SpringbootApp.class, args);
    

2.2 自定义配置

springboot可以自定义配置,在model中定义配置类,指定注解与属性。举例:

#全局配置部分
server.port=8090    #更改端口号
server.servlet.contextPath=/testboot    #更改上下文配置(根路径)
#自定义配置的部分(下面部分的定义可以放在myconfig.properties文件中,用上例方式读取)
myconfig.name=Lee111
myconfig.age=26
/*
 * 自定义配置类
 */
@Component  //注解为bean
@PropertySource(value="classpath:myconfig.properties")  //指定自定义配置文件的路径
@ConfigurationProperties(prefix="myconfig") //指定属性前缀
public class Myconfig 
    private String name;
    private Integer age;
    public String getName() 
        return name;
    
    public void setName(String name) 
        this.name = name;
    
    public Integer getAge() 
        return age;
    
    public void setAge(Integer age) 
        this.age = age;
    



/* 
 * Controller 
 */
@RestController
@RequestMapping("/hello")
public class HelloController 

    @Autowired
    private Myconfig myconfig;
    @GetMapping
    public Myconfig hello()
        return myconfig;

    

2.3 yml的配置方式与分不同环境的配置

/resource/application.yml,具有严格的形式,为层级包含关系 ,举例如下:

server:
  port: 8070 #冒号后有空格
  servlet:
    contextPath: /testboot

分不同环境的配置

/resource/application.yml 如下

#对应spring.profiles.active属性
spring:
  profiles:
    active: dev #映射到resource/application-dev.yml,dev是可以自定义起名的(如果换成test,则对应测试环境,/resource/application-test.yml)

开发环境配置文件/resource/application-dev.yml如下

server:
  port: 8070    #开发环境端口号8070
  servlet:
    contextPath: /devboot

测试环境配置文件/resource/application-test.yml如下

server:
  port: 8090    #测试环境端口号8090
  servlet:
    contextPath: /testboot

以上是关于spring-boot学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

Spring-Boot项目部署到单独tomcat运行

spring boot学习笔记

SpringBoot整合EHcache学习笔记

spring-boot学习资料

引点科技私房菜专栏之Spring-boot学习

Spring-Boot学习纪要-4:Spring-Boot与Web开发