【Spring Boot 1】入门篇,java开发视频直播服务

1.8

<maven.compiler.source>1.8</maven.compiler.source>

<maven.compiler.target>1.8</maven.compiler.target>

<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>

(2)导入spring boot相关的依赖

org.springframework.boot

spring-boot-starter-parent

1.5.9.RELEASE

org.springframework.boot

spring-boot-starter-web

(3)编写一个主程序;启动Spring Boot应用

/**

  • @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用

*/

@SpringBootApplication

public class HelloWorldMainApplication {

public static void main(String[] args) {

// Spring应用启动起来

SpringApplication.run(HelloWorldMainApplication.class,args);

}

}

(4)编写相关的Controller、Service

@Controller

public class HelloController {

@ResponseBody

@RequestMapping("/hello")

public String hello(){

return “Hello World!”;

}

}

@RestController 的意思就是 Controller 里面的方法都以json格式输出,不用再写什么jackjson配置的了。

(5)运行主程序测试

(6)如何做单元测试

打开的 src/test/ 下的测试入口,编写简单的 http 请求来测试;使用 mockmvc 进行,利用 MockMvcResultHandlers.print() 打印出执行结果。

@RunWith(SpringRunner.class)

@SpringBootTest

public class HelloTests {

private MockMvc mvc;

@Before

public void setUp() throws Exception {

mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();

}

@Test

public void getHello() throws Exception {

mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))

.andExpect(status().isOk())

.andExpect(content().string(equalTo(“Hello World”)));

}

}

(7)简化部署

org.springframework.boot

spring-boot-maven-plugin

将这个应用打成jar包,直接使用java -jar的命令进行执行

4、Hello World探究


(1)POM文件

pom.xml 文件中默认有两个模块:

spring-boot-starter 核心模块,包括自动配置支持、日志和YAML,如果引入了 spring-boot-starter-web web模块可以去掉此配置,因为 spring-boot-starter-web 自动依赖了spring-boot-starter。

spring-boot-starter-test 测试模块,包括JUnit、Hamcrest、Mockito。

父项目

org.springframework.boot

spring-boot-starter-parent

1.5.9.RELEASE

//他的父项目是

org.springframework.boot

spring-boot-dependencies

1.5.9.RELEASE

…/…/spring-boot-dependencies

//他来真正管理Spring Boot应用里面的所有依赖版本;

启动器

org.springframework.boot

spring-boot-starter-web

spring-boot-starter:spring-boot场景启动器;帮我们导入了web模块正常运行所依赖的组件;

Spring Boot将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入这些starter相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器。

(2)主程序类,主入口类

/**

  • @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用

*/

@SpringBootApplication

public class HelloWorldMainApplication {

public static void main(String[] args) {

// Spring应用启动起来

SpringApplication.run(HelloWorldMainApplication.class,args);

}

}

@**SpringBootApplication**:    Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;

@Target(ElementType.TYPE)

@Retention(RetentionPolicy.RUNTIME)

@Documented

@Inherited

@SpringBootConfiguration

@EnableAutoConfiguration

@ComponentScan(excludeFilters = {

@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),

@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })

public @interface SpringBootApplication {

}

  • SpringBootConfiguration:Spring Boot的配置类;

标注在某个类上,表示这是一个Spring Boot的配置类;

  • @Configuration:配置类上来标注这个注解;

配置类 -----  配置文件;配置类也是容器中的一个组件;@Component

  • @EnableAutoConfiguration:开启自动配置功能;

以前我们需要配置的东西,Spring Boot帮我们自动配置;@**EnableAutoConfiguration**告诉SpringBoot开启自动配置功能;这样自动配置才能生效;

@AutoConfigurationPackage

@Import(EnableAutoConfigurationImportSelector.class)

public @interface EnableAutoConfiguration {

}

@AutoConfigurationPackage:自动配置包

@Import(AutoConfigurationPackages.Registrar.class):

Spring的底层注解@Import,给容器中导入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值