SpringBoot基本使用
使用springBoot可以不配置過多的xml文件了,全部簡化。
一、新建SpringBoot項目
二、SpringBoot配置文件
<!--父依賴,規定了springBoot的版本號-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--只要是spring-boot開頭的,就是子依賴,不需要寫版本號-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis等jar包開頭的,屬於導入依賴,必須版本號-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
配置文件必須是【application.properties
】或者【application.yml
】在裏面可以進行任意的配置,二選一,其中properties優先於yml。
使用springBoot可以不需要啓動tomcat,使用如下代碼啓動。
@SpringBootApplication
@MapperScan("com.qianfeng.springboot.ssm.mapper") //相當於我們之前在SSM整合的時候做mapper的掃描,必須到mapper
public class SSMStartApp {
public static void main (String[] args){
SpringApplication.run(SSMStartApp.class,args);
}
}
也可以使用service層進行mapperscan的掃描
@Service("userService")
@MapperScan("com.rj.dao")
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public List<User> findAll() {
return userDao.findAll();
}
}
注意,SpringBootApplication啓動掃描範圍是該類所在父包的所有子包和子類。如圖,只能在【com.rj.springboot01
】下創建項目。
三、dao層的使用
mapper都是需要xml文件書寫sql語句的,這裏,需要在【application.properties
】或者【application.yml
】中配置mybatis的mapper文件路徑
將mapper文件放到resources文件下的mapper包中
spring:
datasource:
# url:jdbc:mysql:///mydb9?useSSL=true&characterEncoding=utf8
url: jdbc:mysql://localhost:3306/mydb9?serverTimezone=UTC&useSSL=true&characterEncoding=utf8
username: root
password: 123456
# driver-class-name:com.mysql.cj.jdbc.Driver
driver-class-name: com.mysql.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
mybatis:
# 掃描路徑
mapper-locations: classpath:mapper/*.xml
除了該方法,也可以在mapper接口方法上註解實現
public interface UserMapper {
@Select("SELECT * FROM tb_user WHERE user_id = #{id} ")
TbUser getUserById(@Param("id") Long id);
}
四、springBoot項目啓動方式
- 運行main方法啓動springBoot項目
- 通過maven指令啓動
mvn spring-boot:run
五、springBoot項目啓動方式
- 運行main方法啓動springBoot項目
- 通過maven指令啓動
mvn spring-boot:run
- 將springboot打包,通過jar文件運行
java -jar xxx.jar
六、測試類
springBoot有自己的測試類,使用的時候需要注意:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Provider01StartApp.class)
public class UserTest {
@Autowired
private UserService userService;
@Test
public void testFindAll() {
List<User> users = userService.findAll();
for (User user : users) {
System.out.println(user.toString());
}
}
}
SpringBootTest中必須配置classes
,且該類爲前面提到的AppStart的啓動類
七、lombok的問題
使用聚合項目的時候,運行結果導致lombok失效,解決辦法: