MAVEN
简介
MAVEN是一个项目构建和管理的工具。可以参与创建项目、jar包管理、程序编译、测试、打包、发布等一列过程。他可以通过一段XML描述完成上述工作。
MAVEN常用名如下:
- mvn compile 编译源代码
- mvn test 运行应用程序中的单元测试
- mvn clean 清除项目目录中的生成结果
- mvn package 根据项目生成的jar
- mvn install 在本地Repository中安装jar
- mvn deploy 发布项目
- mvn tomcat:run 启动tomcat服务
MAVEN工具优点
- MAVEN工程结构更加清晰,分为Java主要业务代码区、测试代码区、资源文件区等。
- MAVEN管理jar包方便,只需要追加以小段XML定义,会自动去本地库或远程仓库下载jar包引入工程,自动编译
- MAVEN自动维护和管理依赖关系,自动维护版本匹配
MAVEN安装
-
命令行安装
- 将maven.zip解压,然后设置PATH环境变量
- 打开CMD窗口,执行mvn命令
-
eclipse集成maven
-
打开菜单window-preferences
-
设置maven安装目录
-
设置本地库和setting.xml路径
-
MAVEN使用
-
鼠标右键,新建maven project
-
选中create simple project,设置项目名
-
点击Finish按钮创建
-
鼠标选择Deployment Descriptor右键选择生成web.xml
-
在pom.xml中追加xml定义,引入jar包
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.6.RELEASE</version> </dependency> </dependencies>
-
添加spring配置文件和代码完成案例
代码和配置跟以前没有区别。有jsp需要手动将apache tomcat包build path引入
SpringBoot
简介
SpringBoot框架是对Spring框架进行了封装,可以实现快速的Spring应用开发。
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
SpringBoot特点:
- 快速创建独立的Spring应用程序
- 内部嵌入了tomcat,无需war打包发布
- 提供了一系列boot功能集(jar包集合),简化MAVEN配置
- 自动配置Spring(内部自动创建XML定义的那些对象)
- 没有XML配置定义,完全采用Java配置定义
快速入门示例
- 创建maven project
-
在pom.xml中追加boot开发包
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.2.RELEASE</version> </parent> <dependencies> <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>
-
在src\main\resources下添加application.properties配置文件
server.port=8888
-
在src\main\java下添加HelloController
package cn.xdl.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @RequestMapping("/hello.do") public String hello(){ return "hello spring boot"; } }
-
编写主启动类
package cn.xdl; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MyBootApplication { public static void main(String[] args){ SpringApplication.run(MyBootApplication.class, args); } }
@SpringBootApplication标记原理
@SpringBootApplication是一个多功能标记,包含组件扫描、自动配置、参数注入、bean定义等功能。
@SpringBootApplication标记包含了以下几个主要标记
- @ComponentScan 作用:组件扫描
- @EnableAutoConfiguration 作用:自动配置
-
@Configuration 作用:bean定义
@Configuration//<beans> public class BeanConfig { // @Bean//将返回的user对象放到Spring容器中,默认id名为方法名createUser @Bean("myuser") //<bean> public User createUser(){ User user = new User(); user.setId(1); user.setName("tom"); return user; } }
等价于以前XML配置
<beans> <bean id="" class=""/> </beans>