SpringBoot基于Spring的一个整合包,
一、概述
- SpringBoot简化开发过程,取代臃肿的XML配置
- 快速与其他的框架整合
- 迎合微服务(运行在Docker等容器中的服务)的趋势
二、快速搭建SpringBoot项目
- 去官网下载一个集成了SpringBoot环境的Eclipse:Spring Tool Suit0(STS),和Eclipse一样的使用,不再罗嗦
- 打开STS,New → Spring Starter Project,输入:https://start.spring.io;或者在浏览器中输入此地址,选择需要的环境依赖,如:web、MyBatis,然后下载到本地,解压,从STS导入;
- 更新Maven项目,解决报错问题
- 新建
HelloController
类,在这个类上添加注解@RestController
,这个@RestController
相当于@Controller
加上@ResponseBody
,所以这个控制器的所有方法都是以JSON的方式返回; - 添加响应方法,在这个方法上添加注解
@RequestMapping(name="<req-path>", method=RequestMethod.<req-method>)
。 - 运行带有
@SpringBootApplication
的类中的main方法:Debug As JavaApplication
,项目就欢快的跑起来了。。。
三、SpringBoot项目中的一些注意点
- 如果我们在初始化SpringBoot的时候选择了Web,那么SpringBoot项目中的pom文件中就不再需要我们自己去导入SpringMVC的依赖;同理如果初始化的时候选择了MyBatis,那么我们就不要自己导入MyBatis的相关依赖;
- 我们以前编写的applicationContext.xml文件就不再需要了,取而代之的是一系列的类,也就是说,以前在泪痣文件中的一个bean标签就对应于现在的一个类,而且在这个类上添加注解@Configuration和@MapperScan("<package-name>"),如:
- 示例:
import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.alibaba.druid.pool.DruidDataSource; @Configuration @MapperScan("com.shreker.demo1.dao") public class DataSourceConfiguration { @Value("${jdbc.driverClassName}") private String driverClassName; @Value("${jdbc.url}") private String url; @Value("${jdbc.username}") private String username; @Value("${jdbc.password}") private String password; @Bean("dataSource") public DruidDataSource createDataSource() { DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driverClassName); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); return dataSource; } }
- 说明:
- @Value("<key-in-application.properties>")放在一个成员变量上面表示:从application.properties配置文件中读取对应key的值,注入到当前的成员变量上面!!!注意:@Value不能把值注入到static变量上,可以重写setter方法来曲线救国;
- 同样的道理创建SessionFactoryConfiguration
- 示例:
-
application.properties
中可以配置项目的一些配置信息,如server.port,server.context-path等 - SpringBoot的测试类编写,之前我们在Spring的环境下编写测试类的时候添加了两个注解@RunWith(SpringJUnit4ClassRunner.class)和@ContextConfuguration("classpath:applicationContext.xml"),而在SpringBoot中很类似:@RunWith(SpringRunner.class)和@SpringBootTest,后面的时候都是一样的
- 在数据库连接的字符串后面添加useSSL=false