javaeye 阅读(82) 评论(0)

一、新建Maven工程

IDEA菜单 File->New->Project->Spring Initializr->默认值,点击Next

Group填组织(公司)名称,例如:com.huawei
Artifact填工程名称,例如:sprintboot-test
Type:Maven Project
Language: Java
Packaging:Jar
Java Version:8
Version:项目版本
Name:项目名称
Description:描述
Package:包名

选择依赖Dependencies,例如Web->Sprint Web,点击Next

输入项目名和项目位置,点击Finish完成。

 

二、Controller和Service
主程序已经自动建好了,接下来就是添加控制器和实现业务逻辑了。
右键点com.test,菜单,新建-Java类,命名为HomeController,添加Controller注解。
添加hello方法,并添加RequestMapping和ResponseBody注解,
代码里没有其它业务逻辑,只是简单地返回字符串,代码如下:

@Controller
public class HomeController {
    @RequestMapping("/hello")
    @ResponseBody
    public String hello(){
        return "Hello world";
    }

    @RequestMapping("/")
    @ResponseBody
    public String home(){
        return "Home page";
    }
}

 

三、运行测试
打开主程序HelloWorldMainApplication.java,在main处,点左边的绿色运行按钮,会自动编译,并自动打开Apache Tomcat。
console窗口显示:
Tomcat started on port(s): 8080 (http) with context path ''
Started HelloWorldMainApplication in 1.171 seconds (JVM running for 1.665)
Initializing Spring DispatcherServlet 'dispatcherServlet'
Initializing Servlet 'dispatcherServlet'
Completed initialization in 4 ms

说明程序已经启动,我们打开浏览器,访问 http://localhost:8080/hello 测试结果。

 

四、编译打包部署
maven是通过pom.xml来执行任务的.其中的build标签描述了如何来编译打包项目,而具体的编译和打包工作是通过build中配置的plugin来完成的。Spring Initializr已经在pom.xml里为我们添加好了。

IDEA最右侧打开Maven,在Lifecycle里,选中package,点Run maven build按钮,开始编译生成,
Building jar: E:\IdeaProjects\testdemo\target\testdemo-0.0.1-SNAPSHOT.jar

最后显示:BUILD SUCCESS

在E:\IdeaProjects\testdemo\target目录下,我们执行
java -jar helloworld-1.0-SNAPSHOT.jar --server.port=80
就可以启动应用,这里指定80端口运行,默认是8080。
我们在application.properties里添加server.port=80,可以指定端口为80,这样就不用在运行的时候添加--server.port=80来指定了。

 

五、目录结构
Resources目录下文件:static文件夹:存储静态资源文件,如js/css/images;
templates文件夹:保存所有的模板页面;
application.properties文件:spring boot的默认配置文件,可以修改一些Server,cookie、session、ssl、tomcat的默认配置;
例如:
server.address #指定server绑定的地址
server.compression.enabled #是否开启压缩,默认为false.
server.port #设定http监听端口
server.session.cookie.domain #指定session cookie的domain
server.session.cookie.max-age #设定session cookie的最大age.
server.session.timeout #session的超时时间
server.ssl.enabled #是否开启ssl,默认: true
server.tomcat.accesslog.enabled #是否开启access log,默认: false
server.tomcat.max-threads #设定tomcat的最大工作线程数,默认为: 0

 

 


发表评论
切换编辑模式