javascript
Spring Boot 之路(一):一个简单的Spring Boot应用
SpringBoot之路(—)
一直在用Springboot做項目,但是像是趕鴨子上架一樣,并沒有系統的從頭到一個項目來創建一個應用,最近打算做一個SpringBoot開箱即用的項目,主要是覺得自己很菜,對于SpringBoot僅僅停留在會用的階段,所以想從零開始做一個想加強一下自己的理解。(其實就是菜)后期打算用Vue和SpringBoot項目做一個前后端分離的項目,Ui打算采用iView,用慣了Element想換種風格~但其實都差不多啦。
創建一個SpringBoot應用
本章就來介紹兩種方式來創建一個SpringBoot項目,根據Sping BOot官方文檔的推薦,填好信息后可以下載一個Zip文件,然后解壓,在idea導入就好了
這里推薦第二種直接使用idea的Sping Initializr來創建,如下圖選擇要使用的工具,這里就先選擇Web、MySQL、Mybatis,然后下一步就可以了。(沒有連接數據庫的話需要把pom.xml中的MySQL先注釋掉不然啟動會報錯)
這是目錄結構 打開DemoApplication這個是SpingBoot的啟動類,其中@SpringBootApplication是一個配置類注解,它的作用像是@Configuration,@EnableAutoConfiguration,@ComponentScan這些注解的組合,@Configuration的作用是允許注冊額外的beans,@ComponentScan的作用是啟動組件掃描,@EnableAutoConfiguration作用是啟動Sping Boot的自動配置。
然后我們新建一個Controller加上@RestController注解,@RestController注解在我們前后端分離開發中非常方便,因為我們目前的最好的是后端返回JSON數據然后給前臺來解析,當你使用了之后會發現非常之方便~
然后我們用PostMan來測試啟動下,header中選擇{key:Content-Type,value:application/json},body中選擇raw模式,然后發送請求,可以看到hello,world就給我們返回來了。
整合Mybatis連接數據庫
SpingBoot整合Mybatis也非常簡單只需要在pom文件中加入
<dependency>??????<groupId>org.mybatis.spring.boot</groupId>
??????<artifactId>mybatis-spring-boot-starter</artifactId>
??????<version>1.3.2</version>
</dependency>
復制代碼
整合Mysql:
<dependency>??????<groupId>mysql</groupId>
??????<artifactId>mysql-connector-java</artifactId>
??????<scope>runtime</scope>
</dependency>
復制代碼
然后我們到application.properties中配置下連接數據庫的驅動這些
#連接MySQLspring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo?useSSL=false&useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
復制代碼
然后新建一個mybatis的配置類:MybatisConfigurer
public?class?MybatisConfigurer?{
????
????public?SqlSessionFactory?sqlSessionFactoryBean(DataSource?dataSource)?throws?Exception?{
????????SqlSessionFactoryBean?factory?=?new?SqlSessionFactoryBean();
????????factory.setDataSource(dataSource);
????????ResourcePatternResolver?resolver?=?new?PathMatchingResourcePatternResolver();
????????factory.setMapperLocations(resolver.getResources("classpath:/Mapper/**/*Mapper.xml"));
????????return?factory.getObject();
????}
????
????public?MapperScannerConfigurer?mapperScannerConfigurer()?{
????????MapperScannerConfigurer?mapperScannerConfigurer?=?new?MapperScannerConfigurer();
????????mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean");
????????mapperScannerConfigurer.setBasePackage("com.ywbjja.demo");
????????return?mapperScannerConfigurer;
????}
}
復制代碼
在配置文件中配置了Mapper.xml的地址,Spring Boot會根據我們配置的地址去目錄下尋找Mapper.xml文件,記得大小寫別錯了。
在數據庫中創建一個User表
??`user_id`?BIGINT?NOT?NULL,
??`user_name`?VARCHAR(45)?NOT?NULL,
??PRIMARY?KEY?(`user_id`))
ENGINE?=?InnoDB
DEFAULT?CHARACTER?SET?=?utf8
COMMENT?=?'用戶表';
復制代碼
然后添加一條數據測試:
然后Mapper接口 Serviece類、我就不這里寫了,Controller類的代碼如下,public?class?UserController?{
????
????private?UserService?userService;
????
????public?User?getUser(?Map<String?,Object>?map){
????????return?userService.queryUserById(map);
????}
}
復制代碼
在這里推薦是用Map作為參數,這樣很節省代碼量,然后使用postman測試就會有結果了。
0配置整合Mybatis
是不是覺得新建一個MybatisConfigurer很麻煩?沒問題,這里推薦使用第二種方法就是0配置使用注解實現整合Mybatis,首先在Sping Boot的啟動類加入@MapperScan注解這個注解的作用就是會掃描這個目錄下的Mapper接口
(value?=?"com.ywbjja.demo")
public?class?DemoApplication?{
????public?static?void?main(String[]?args)?{
????????SpringApplication.run(DemoApplication.class,?args);
????}
}
復制代碼
然后再配置文件中配置mapper.xml文件地址
mybatis.mapper-locations=classpath*:Mapper/**/*Mapper.xml復制代碼
這樣一樣也能成功,省去了配置類,很方便了。好了到此就結束了,如果有錯誤的地方歡迎來噴我!!大聲的噴我!!!謝謝…
下一節打算說下SpringBoot統一返回對象以及異常的處理~
轉載于:https://juejin.im/post/5c1ddfb46fb9a049b82a7229
總結
以上是生活随笔為你收集整理的Spring Boot 之路(一):一个简单的Spring Boot应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据小白系列——HDFS(3)
- 下一篇: linux使用nginx负载udp