由于单位项目使用java开发,框架用的spring,之前一直觉得java特别麻烦,所以一直避免和java接触,这下跑不掉了。所以近两周一直在学习java。在此记录一下学习过程,和下一步学习计划。
书籍和文档
一般情况下,如果我对某个技术感兴趣的话,我会先去找这方面比较经典的书,找了网上的评价之后,发现Java核心技术这本书比较不错,果断买来。
第一周记本上都在看书,也是在再次对OOP有了重新的认识。看过书之后,准备再学习一下spring,网上看了参考资料并不是很多,不过我看spring官网上的guide很不错,可以参考着撸一遍。另外就是一个教程,关于spring mvc的。
搞起
有了书和文档的帮助之后,自然要实际操作起来才行。在操作之前我也是看了不少相关的帖子,最后选则IDEA来开发,而springboot更是极大的减少了java开发的复杂程度,减少了大量的xml配置文件。下面就详细介绍如何使用IDEA配合maven快速搭建一个springboot程序吧。
新建项目
使用IDEA新建maven项目:
选择maven,勾选archetype,选择maven-archetype-webapp。然后完成一些设置就可以进入到项目文件了。
maven源设置
有过用maven管理项目经验的都知道,使用maven默认的源速度特别慢,经常是写代码的时间还没等待jar包下载的时间长。经过我的一番搜索发现阿里云提供的maven源在国内还是比较优质的。需要做的很简单,只需要在IDEA中稍微修改一下settings文件即可。
右键pom.xml文件,选择maven选项,点击打开settings.xml,在其中增加如下这段配置文件保存即可。
1
2
3
4
5
6
7
8
|
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
|
效果就是这样
。
依赖项导入
利用springboot进行开发webapp,我在使用中需要导入这些依赖:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.4.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>1.4.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<version>1.4.0.RELEASE</version>
<optional>true</optional>
</dependency>
|
由于配置了maven源,这些依赖项下载速度还是挺快的。
码码码
配置好这些东西之后,就可以码起来了。首先要在src文件夹下新建一个目录作为Soucres Root:
在这里,我把java作为Soucres Root,由于使用了springboot,只需要用java代码写好controller即可:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package com.eclipsesv.HelloController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* Created by eclipse on 16/8/26.
*/
@Controller
public class Hello {
@RequestMapping("/")
public String index(){
return "index";
}
}
|
使用@Controller和@RequestMapping配合使用就可以完成一个简单的路由映射,上边的这段代表如果访问url为"/“会返回名为"index"的视图,而这里的视图只需要写一个名为index的html 并把它放在/resources/templates中即可。
然后只需要写一个main函数就可以了:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package com.eclipsesv;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* Created by eclipse on 16/8/26.
*/
@SpringBootApplication
public class Application {
public static void main(String... arg){
SpringApplication.run(Application.class,arg);
}
}
|
使用@SpringBootApplication可以完成项目的自动配置,它会在启动的时候找到项目中由@Controller标识的区域,并解析@RequestMapping完成自动路由映射。
现在整个项目结构如下图所示:

run起来
在完成这些之后,需要做一下项目的启动配置,如图:
然后直接点run就可以了。

整个过程除了pox.xml需要自己配置以外,并不需要另外的配置项,大大简化了项目配置的复杂程度。感觉还是不错的。