• SpringBoot入门


    SpringBoot入门

     


    SpringBoot入门

    添加依赖

    <!-- 继承spring-boot-starter-parent,实现一站式开发-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
    </parent>
    
    <dependencies>
        <!-- 做web,使用web启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    
    <!-- 这个插件,可以将应用打包成一个可执行的jar包
      在cmd使用,浏览器看效果即可 用ctrl+c停止
    -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
    <!--如果cmd运行报错jar中没有主清单属性,添加此段配置 -->
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
    </plugin>
        </plugins>
    </build>

    编写Controller类

    @Controller
    public class HelloController {
        @ResponseBody
        @RequestMapping("/")
        String home() {
            return "Hello World!";
        }
    }

    编写主程序入口,启动main可在浏览器输入http://localhost:8080/查看

    @SpringBootApplication //坑1:注意默认扫包访问,启动类的位置最好高于其他包
    public class Example {
    
        public static void main(String[] args) {
            SpringApplication.run(Example.class, args);
        }
    }

    配置文件

    Springboot默认做了很多配置,如果想修改,使用一个全局的配置文件,

    配置文件名是固定的;•application.properties  •application.yaml

    可以通过配置文件修改信息.如果端口server.port=8080

    @Value 使用此注解取配置文件的值

    取默认配置application.properties的值

    1. application.properties配置文件
    person.name="张三"
    person.pid=18
    person.address=[1,2,3]
    
    2.实体类中使用
      @Component
    public class Person {
        @Value("${person.pid}")
        private int pid;
        @Value("${person.name}")
        private String name;
        @Value("${person.address}")
        private List<String> address;
     …}
    1.2.1.2取自己配置文件tina.properties的值,搭配@PropertySource
    //默认引入的是application.properties,想引入其他文件,只用此注解
    1.在resources文件夹下新建tina.properties文件
    person.name="张三"
    person.pid=18
    person.address=[1,2,3]
    2.在实体类中取值   使用@PropertySource指定属性文件的位置
    @Component
    @PropertySource(value="classpath:tina.properties")
     public class Person {
        @Value("${person.pid}")
        private int pid;
        @Value("${person.name}")
        private String name;
        @Value("${person.address}")
    private List<String> address;
    1.2.2@ConfigurationProperties可将配置文件中的对象和实体进行关联
    1.添加依赖
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
    2.属性配置类编写值
    person.name="tina"
    person.pid=19
    person.address=[1,2,3]
    3.实体中,发现已经不需要使用value取值,会根据对应的前缀找到属性,自动注入
    @Component
    @ConfigurationProperties(prefix = "person")
    //如果是在application.properties中,无需此注解
    @PropertySource(value = "classpath:tina.properties") 
      public class Person {
        private int pid;
        private String name;
        private List<String> address;
    }
    1.2.3@ImportResource加载xml,后都由配置类替换
    //可以引入xml文件
    @ImportResource(locations = {"classpath:bean.xml"})
    public class xx{
    }

    启用Springboot测试

    添加依赖

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

    编写测试类,添加注解@RunWith@SpringBootTest

    @RunWith(SpringRunner.class)
    @SpringBootTest(classes ={Example.class})
    public class TestMain {
        @Resource //会自动注入
        Person person;
    
        @Test
        public void test() {
            System.out.println(person);
        }
    }
  • 相关阅读:
    5-最长回文子串
    String、StringBuffer和StringBuilder的区别(转载)
    LeetCode31题,下一个排列
    BindingResult
    @Validated 和 @Valid
    springboot Filter Interceptor
    @ReponseStatus
    ResponseEntity
    springboot 异常处理机制源码分析
    @RequestMapping的produces作用
  • 原文地址:https://www.cnblogs.com/yssmt/p/12249608.html
Copyright © 2020-2023  润新知