詳解Intellij IDEA搭建SpringBoot
前言
Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力於在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。
Spring Boot概念
從最根本上來講,Spring Boot就是一些庫的集合,它能夠被任意專案的構建系統所使用。簡便起見,該框架也提供了命令列介面,它可以用來執行和測試Boot應用。框架的釋出版本,包括整合的CLI(命令列介面),可以在Spring倉庫中手動下載和安裝。
建立獨立的Spring應用程式
嵌入的Tomcat,無需部署WAR檔案
簡化Maven配置
自動配置Spring
提供生產就緒型功能,如指標,健康檢查和外部配置
絕對沒有程式碼生成並且對XML也沒有配置要求
搭建Spring Boot
1. 生成模板
可以在官網(https://start.spring.io/)生成spring boot的模板。如下圖:
然後用idea匯入生成的模板。
2. 建立Controller
3. 執行專案
新增註解 @ComponentScan
然後執行。
在看到"Compilation completed successfully in 3s 676ms"訊息之後,開啟任意瀏覽器,輸入 http://localhost:8080/index 即可檢視效果,如下圖:
4. 接入mybatis
MyBatis 是一款優秀的持久層框架,它支援定製化 SQL、儲存過程以及高階對映。
在專案物件模型pom.xml中插入mybatis的配置:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
建立資料庫以及user表:
use zuche;
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`age` int(10) NOT NULL,
`phone` bigint NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
insert into users values(1,'趙',23,158,'3658561548@qq.com');
insert into users values(2,'錢',27,136,'3658561548@126.com');
insert into users values(3,'孫',31,159,'3658561548@163.com');
insert into users values(4,'李',35,130,'3658561548@sina.com'
分別建立三個包,分別是dao/pojo/service, 目錄如下:
新增User:
package com.athm.pojo;
/**
* Created by toutou on 2018/9/15.
*/
public class User {
private int id;
private String username;
private Integer age;
private Integer phone;
private String email;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getPhone() {
return phone;
}
public void setPhone(Integer phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
新增UserMapper:
package com.athm.dao;
import com.athm.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* Created by toutou on 2018/9/15.
*/
@Mapper
public interface UserMapper {
@Select("SELECT id,username,age,phone,email FROM USERS WHERE AGE=#{age}")
List<User> getUser(int age);
}
新增UserService:
package com.athm.service;
import com.athm.pojo.User;
import java.util.List;
/**
* Created by toutou on 2018/9/15.
*/
public interface UserService {
List<User> getUser(int age);
}
新增UserServiceImpl:
package com.athm.service;
import com.athm.dao.UserMapper;
import com.athm.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Created by toutou on 2018/9/15.
*/
@Service
public class UserServiceImpl implements UserService{
@Autowired
UserMapper userMapper;
@Override
public List<User> getUser(int age){
return userMapper.getUser(age);
}
}
controller新增API方法:
package com.athm.controller;
import com.athm.pojo.User;
import com.athm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by toutou on 2018/9/15.
*/
@RestController
public class IndexController {
@Autowired
UserService userService;
@GetMapping("/show")
public List<User> getUser(int age){
return userService.getUser(age);
}
@RequestMapping("/index")
public Map<String, String> Index(){
Map map = new HashMap<String, String>();
map.put("北京","北方城市");
map.put("深圳","南方城市");
return map;
}
}
修改租車ZucheApplication:
package com.athm.zuche;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan(basePackages = {"com.athm.controller","com.athm.service"})
@MapperScan(basePackages = {"com.athm.dao"})
public class ZucheApplication {
public static void main(String[] args) {
SpringApplication.run(ZucheApplication.class, args);
}
}
新增資料庫連線相關配置,application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/zuche
spring.datasource.username=toutou
spring.datasource.password=*******
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
按如下提示執行
瀏覽器輸入得到效果:
GitHub地址
https://github.com/toutouge/javademo/tree/master/zuche_test/zuche
總結
系統故障常常都是不可預測且難以避免的,因此作為系統設計師的我們,必須要提前預設各種措施,以應對隨時可能的系統風險。
PS:如果覺得我的分享不錯,歡迎大家隨手點贊、轉發。
Java團長
專注於Java乾貨分享
掃描上方二維碼獲取更多Java乾貨
相關文章
- Intellij IDEA 安裝lombok及使用詳解IntelliJIdeaLombok
- 在 Intellij IDEA 中的 Debug 使用詳解IntelliJIdea
- IntelliJ IDEA-搭建SSM框架步驟IntelliJIdeaSSM框架
- 【intellij idea】Project Structure 講解IntelliJIdeaProjectStruct
- IntelliJ IDEA 概要 [翻譯](IntelliJ IDEA Essentials)IntelliJIdea
- 【IntelliJ IDEA】IntelliJIdea
- IntelliJ IDEA 常用設定講解IntelliJIdea
- 詳解IntelliJ IDEA遠端介紹除錯Tomcat的方法 IntelliJ IDEA mac永 久啟用秘鑰分享IntelliJIdea除錯TomcatMac
- idea使用gradle搭建SpringBootIdeaGradleSpring Boot
- IntelliJ IDEA 快捷鍵說明大全(中英對照、帶圖示詳解)IntelliJIdea
- (乾貨)【intellij idea】Project Structure 講解IntelliJIdeaProjectStruct
- 使用IntelliJ IDEA 搭建 spring mvc開發環境IntelliJIdeaSpringMVC開發環境
- IntelliJ IDEA配置與搭建web專案入門使用IntelliJIdeaWeb
- Intellij IDEA 使用svn非常詳細的說明IntelliJIdea
- IntelliJ IDEA使用IntelliJIdea
- SpringBoot專案在IntelliJ IDEA中實現熱部署Spring BootIntelliJIdea熱部署
- Idea intellij jdk 1.7通過maven建立Springboot專案IdeaIntelliJJDKMavenSpring Boot
- idea快速搭建mysql+mybatis 的springBoot專案(詳細圖文)IdeaMySqlMyBatisSpring Boot
- IntelliJ IDEA 12.1.4 解決中文亂碼IntelliJIdea
- IDEA SpringBoot專案配置熱更新的步驟詳解IdeaSpring Boot
- IntelliJ IDEA 配置代理IntelliJIdea
- IntelliJ IDEA 破解教程IntelliJIdea
- IntelliJ IDEA快捷鍵IntelliJIdea
- SSM框架-Intellij IDEASSM框架IntelliJIdea
- Intellij IDEA除錯IntelliJIdea除錯
- IntelliJ IDEA的使用IntelliJIdea
- Intellij idea 配置JDKIntelliJIdeaJDK
- IntelliJ IDEA配置JDKIntelliJIdeaJDK
- idea開發之springboot環境搭建IdeaSpring Boot
- 詳述 IntelliJ IDEA 遇到 java -source 1.3 中不支援某某操作的解決方法IntelliJIdeaJava
- [Android]後端之路--intellij IDEA Maven專案的搭建(1)Android後端IntelliJIdeaMaven
- Intellij IDEA 中 使用 GitIntelliJIdeaGit
- IntelliJ IDEA 啟用(最新)IntelliJIdea
- IntelliJ IDEA 中的技巧IntelliJIdea
- IntelliJ IDEA常用快捷鍵IntelliJIdea
- IntelliJ IDEA 註冊碼IntelliJIdea
- IntelliJ IDEA-使用教程IntelliJIdea
- IntelliJ-IDEA快捷鍵IntelliJIdea