在Javaweb項目開發中爲了便於後期的維護,咱們通常會進行分層開發,常見的就是分爲model(域模型層)、dao(數據庫訪問層)、service(業務邏輯層)、controller(控制器層)、web(表現層),這樣分層以後,各個層之間的職責會比較明確,後期維護起來也相對比較容易。java
前面咱們開發都是在一個模塊中,把不一樣的層以包來區分,以下:web
一、建立SpringBoot項目spring
結構爲:數據庫
代碼分別是:springboot
public class User {app
private String username;maven
private String password;測試
private String realname;ui
...省略get\set 構造方法xml
}
@Repository
public class UserDAO {
public List<User> selectAllUsers(){
return Arrays.asList(new User("zhangsan","111","張三"),
new User("lisi","111","李四"),
new User("wangwu","111","王五"));
}
}
@Service
public class UserService {
@Resource
private UserDAO userDAO;
public List<User> findAllUsers(){
return userDAO.selectAllUsers();
}
}
@Controller
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
@RequestMapping("/list")
@ResponseBody
public String list(){
List<User> allUsers = userService.findAllUsers();
StringBuilder stringBuilder = new StringBuilder();
for(User user :allUsers){
stringBuilder.append("<p>姓名:");
stringBuilder.append(user.getRealname());
stringBuilder.append("</p>");
}
return stringBuilder.toString();
}
}
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
啓動項目,測試
多模塊開發:
隨着項目愈來愈複雜,每一個層的規模也逐漸增大,在一個模塊中進行開發,會給測試和維護帶來不便,對於大型項目來講,通常會將每一個層放到本身的模塊中,而後每一個層創建聯繫,單獨維護。
下面咱們將會把前面的單模塊項目重構爲多模塊項目:
項目分爲4個模塊
controller
service
dao
model
模塊間依賴關係是
controller依賴service和model
service依賴dao和model
dao依賴model
重構多模塊項目
一、首先選擇項目的pom.xml,將打包方式改成pom
<packaging>pom</packaging>
二、新建model模塊:
項目右鍵——>New——>Module——>選擇maven ——> Next
輸入模塊名稱model ——> Next ——> Finish
項目的pom.xml中會出現:
<modules>
<module>model</module>
</modules>
這就是模塊建立完成了
而後將原來項目中model的包整個複製到model模塊的java目錄下:
三、新建dao模塊,過程和前面相似
新建完成後,代碼會報錯,由於找不到User類,緣由是dao模塊尚未添加model模塊的依賴
添加依賴,在dao模塊的pom.xml中添加
<dependencies>
<dependency>
<groupId>com.qianfeng.springboot</groupId>
<version>0.0.1-SNAPSHOT</version>
<artifactId>model</artifactId>
</dependency>
</dependencies>
四、再添加service模塊
添加依賴:
<dependencies>
<dependency>
<groupId>com.qianfeng.springboot</groupId>
<artifactId>dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.qianfeng.springboot</groupId>
<artifactId>model</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
五、添加controller模塊
添加依賴:
<dependencies>
<dependency>
<groupId>com.qianfeng.springboot</groupId>
<artifactId>service</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.qianfeng.springboot</groupId>
<artifactId>model</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
而後把原來項目的DemoApplication類複製到controller模塊java目錄下的基礎包下,本例是com.qianfeng.springboot
六、點擊Build Project 編譯項目,而後啓動程序進行測試,若是能成功啓動還能看到原來的執行效果,那麼項目多模塊的重構就完成了。