您的位置:首页 > 编程语言 > Java开发

毕设-创建SpringBoot项目

2017-12-20 13:42 567 查看
这段时间一直忙任务,之前的项目“后台管理”放在了码云,用SpringBoot、Maven、MyBatis、Shiro、BootStrap等做的,也是临摹其他大佬的代码写的,写到现在,应该不会再去大改多少了,不过应该会用作以后的个人网站后台管理,目前只做了人员管理,Shiro验证授权等,还有很多需要完善,但是近期不会更新了,地址在这,分享一下。说真的,真的喜欢安静的工作环境。。。可惜从今天开始,虽然毕设题目没有确定下来,但是先开工吧。想详细记录下来完成这个项目的历程,也重新理解一遍SpringBoot和用到的技术。也是在完成工作之余,自我提升的路径。1、在eclipse中创建Maven项目为什么使用Maven?对我而言,Maven可以帮我快速的创建一个Web项目;可以编译项目;可以方便的添加依赖,尤其是有些jar包需要其他jar包,Maven会自动帮我下载,我也不需要担心版本冲突问题;可以清空后编译,相当于Clean Project吧,不过更加干净,class文件会全部重新编译;可以install,打成war包,然后我放到服务器就OK了。2、创建一个webapp,命名gradesign(graduate design),初始结构如此在SpringBoot项目中web.xml不再需要各种繁杂的配置,不像MVC中还要配置DispatcherServlettarget-classes中放编译后的class文件3、结构修改后3、根据https://spring.io中SpringBoot中快速启动在pom.xml中添加
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion><groupId>Damionew</groupId><artifactId>gradesign</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>gradesign Maven Webapp</name><url>http://maven.apache.org</url><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version></parent><dependencies><!-- springBoot核心依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins><finalName>gradesign</finalName></build></project>
但是上方添加注解没办法导入包,看了项目里面这俩jar都有了,就是没办法导入,然后切换到project exploer,发现pom.xml报错,然后切换到dependencies视图,发现原来是
 	<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version></parent>
版本太高,我的Maven是3.5.0,上一个项目用的
	<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.4.1.RELEASE</version></parent>
然后就好了,耸肩现在写项目的入口Application.java-项目的启动引导类、Spring的主要配置类
/** * @Author yinyunqi * @date 2017年12月20日 * @Content 项目的启动引导类,Spring的主要配置类 */package com.yongqi;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;//开启组件扫描和自动配置,包括://@Configuration标明该类使用Spring基于Java的配置//@ComponentScan启动组件扫描,这样写的web控制器类和其他组件才能被自动发现并注册为Spring应用程序的上下文Bean,比如@Controller,@Service//@EnableAutoConfiguration开启了SpringBoot自动配置@SpringBootApplication  public class Application {    public static void main(String[] args) {System.out.println("enter");SpringApplication.run(Application.class, args);  //引导启动应用程序    }}
写一个Controller进行测试
/*** @Author yinyunqi* @date 2017年12月20日* @Content*/package com.yongqi.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controller  //这个注解会被@ComponentScan扫描到,并创建Bean@RequestMapping("/test")  //使用该注解会将所有的处理器方法都映射到"/"这个URL路径上public class TestController {@RequestMapping("/test")@ResponseBody  //返回Json数据public String test() {return "test success";}}
这样一个简单的测试就做好了不同于其他项目的,SpringBoot有内嵌容器Tomcat,启动项目只需要右键Application.java-run as Java Application然后再不同于其他框架,在浏览器输入地址时不需要带项目名称,如该测试地址为http://localhost:8080/test/test页面显示不过每次修改了代码都要关闭重新启动是真的麻烦,不关闭直接启动会报错端口占用所以SpringBoot热启动
 <!-- 热启动(每次修改类后重新自动编译启动Application上下文) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency>
热部署
	<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><dependencies><!-- spring热部署,使用springload插件 --><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId><version>1.2.6.RELEASE</version></dependency></dependencies></plugin></plugins><finalName>gradesign</finalName></build>
综上pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion><groupId>Damionew</groupId><artifactId>gradesign</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>gradesign Maven Webapp</name><url>http://maven.apache.org</url><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.4.1.RELEASE</version></parent><dependencies><!-- springBoot核心依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 热启动(每次修改类后重新自动编译启动Application上下文) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><dependencies><!-- spring热部署,使用springload插件 --><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId><version>1.2.6.RELEASE</version></dependency></dependencies></plugin></plugins><finalName>gradesign</finalName></build></project>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: