spring boot 简介:
现在的web项目几乎都会用到spring框架,而要使用spring难免需要配置大量的xml配置文件,而springboot的出现解 决了这一问题,一个项目甚至不用部署到服务器上直接开跑,真像springboot所说:“just run”。org.spring 2013年新开发的框架springboot , 它让一个单独项目的创建变得更加的简单,让所有依赖spring的程序可以做到“just run”。springboot提供大量第三方libraries让我们可以非常轻松的开始创建一个spring工程,甚至不需要再去配置一些繁琐的xml配置文件
框架特点:
1:创建独立的spring应用。
2:嵌入Tomcat, Jetty Undertow 而且不需要部署他们。
3:提供的“starters”poms来简化Maven配置
4:尽可能自动配置spring应用。
5:提供生产指标,健壮检查和外部化配置
6:绝对没有代码生成和XML配置要求
现在基于springboot 编写一个helloworld demo
(1)新建一个Maven Java工程
(2)在pom.xml文件中添加Spring BootMaven依赖
(3)编写启动类
(4)运行程序
第一步 新建一个Maven Java工程 ,略过
第二步,在pom.xml中引入spring-boot-start-parent, 依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
第三步,开发的是web工程,在pom.xml中引入spring-boot-starter-web,
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
如果我们要直接Main启动spring,那么以下plugin必须要添加,否则是无法启动的。如果使用maven的spring-boot:run的话是不需要此配置的。(我在测试的时候,如果不配置下面的plugin也是直接在Main中运行的。)
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin </artifactId>
</plugin>
</plugins>
</build>
第四步,真正的程序开始啦,我们需要一个启动类,然后在启动类申明让springboot自动给我们配置spring需要的配置,比
@SpringBootApplication
public class AdminApplication {
public static void main(String []args){
SpringApplication.run(AdminApplication.class, args);
}
}
其中@SpringBootApplication申明让spring boot自动给程序进行必要的配置,等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan
第四步,编写测试类
@RestController
public class Demo {
@RequestMapping("/test1")
public String test(){
return "hello world";
}
}
@RestController返回json字符串的数据,直接可以编写RESTFul的接口;
第五步,就是运行我们的Application了 浏览器输入http://127.0.0.1:8080/test1,即得到结果。
注意事项:
1.在创建maven项目时,需要选择打包方式:jar
即pom
2.编写启动类时,注意文件位置<packaging>jar</packaging>
2.1不能直接放到src/java/ 下,得新建一个package存放启动类
否则会报错 报错如下:
** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.
2.1 不能放的太深的目录。可放在公共包下 根目录,否则启动类会找不到 其他应用代码 如