- spring boot简介
spring boot设计目的是简化spring应用的初始搭建以及开发过程,开启各种自动装配,消除样板化的配置,它采用的是建立生产就绪的应用程序观点,优先于配置的惯例,使用了spring boot一切会变得更加简单(配置、编码、部署)。 - spring boot核心功能
1.独立运行Spring项目
Spring boot 可以以jar包形式独立运行,运行一个Spring Boot项目只需要通过java -jar xx.jar来运行。
2.内嵌servlet容器
Spring Boot可以选择内嵌Tomcat、jetty或者Undertow,这样我们无须以war包形式部署项目。
3.提供starter简化Maven配置
spring提供了一系列的start pom来简化Maven的依赖加载,例如,当你使用了spring-boot-starter-web,会自动加入如图5-1所示的依赖包。
4.自动装配Spring
SpringBoot会根据在类路径中的jar包,类、为jar包里面的类自动配置Bean,这样会极大地减少我们要使用的配置。当然,SpringBoot只考虑大多数的开发场景,并不是所有的场景,若在实际开发中我们需要配置Bean,而SpringBoot灭有提供支持,则可以自定义自动配置。
5.准生产的应用监控
SpringBoot提供基于http ssh telnet对运行时的项目进行监控。
6.无代码生产和xml配置
SpringBoot不是借助与代码生成来实现的,而是通过条件注解来实现的,这是Spring4.x提供的新特性。 - Spring boot优缺点
1.快速构建项目
2.对主流开发框架的无配置集成
3.项目可独立运行,无需外部依赖 Servlet 容器
4.提供运行时的应用监控
5.极大地提高了开发、部署效率
6.与云计算的天然集成 -
1.版本迭代速度很快,一些模块改动很大
2.由于不用自己做配置,报错时很难定位
3.网上现成的解决方案比较少// springboot启动时注入bean @SpringBootApplication public class SpringbootFirstApplication { public static void main(String[] args) { SpringApplication.run(SpringbootFirstApplication.class, args); } @Bean public CommandLineRunner commandLineRunner(ApplicationContext ctx) { return args -> { System.out.println("Let's inspect the beans provided by Spring Boot:"); // 从ioc容器中获取启动bean String[] beanNames = ctx.getBeanDefinitionNames(); Arrays.sort(beanNames); for (String beanName : beanNames) { System.out.println(beanName); } }; } } // Spring boot单元测试 @RunWith(SpringRunner.class) // 每次运行都会启动一个随机端口 // SpringBootTest的classes属性:配置为启动类, 可以Autowired装配Spring容器中的bean @SpringBootTest(classes = SpringbootFirstApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class HelloControllerIT { // 分配随机端口,相当于@Value("${local.server.port}") @LocalServerPort private int port; private URL base; @Autowired // 通过Restful方式调用, TestRestTemplate包含post、get、put、delete等方法 private TestRestTemplate template; @Before public void setUp() throws Exception { this.base = new URL("http://localhost:" + port + "/"); } @Test public void getHello() throws Exception { String url = base.toString(); ResponseEntity<String> response = template.getForEntity(url, String.class); assertThat(response.getBody(), equalTo("Greetings from Spring Boot!")); } }
spring boot系列之基础介绍
最新推荐文章于 2020-08-18 09:51:35 发布