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); } }