SpringBoot快速入门
设置spring boot的parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
说明:Spring boot的项目必须要将parent设置为spring boot的parent,该parent包含了大量默认的配置,大大简化了我们的开发。
导入spring boot的web支持
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
添加Spring boot的插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
编写第一个Spring Boot的应用
package cn.huachao.springboot.controller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@SpringBootApplication
@Configuration
public class HelloApplication {
@RequestMapping("hello")
@ResponseBody
public String hello(){
return "hello world!";
}
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
代码说明:
1、@SpringBootApplication:Spring Boot项目的核心注解,主要目的是开启自动配置。;
2、@Configuration:这是一个配置Spring的配置类;
3、@Controller:标明这是一个SpringMVC的Controller控制器;
4、main方法:在main方法中启动一个应用,即:这个应用的入口;
启动应用
在Spring Boot项目中,启动的方式有两种,一种是直接run Java Application另外一种是通过Spring Boot的Maven插件运行。
- 第一种
main方法上右键:Run as ---> Java Application -
第二种
点击Run Configurations
注:第二种需要在项目中配置了上面的Spring boot的插件
- 测试在浏览器输入:http://127.0.0.1:8080/hello
看到:hello world!,表示成功
Spring Boot的核心
入口类和@SpringBootApplication
Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法。
@SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
...
该注解主要组合了以下注解:
-
@SpringBootConfiguration
:这是Spring Boot项目的配置注解,这也是一个组合注解:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {
}
在Spring Boot项目中推荐使用@ SpringBootConfiguration
替代@Configuration
-
@EnableAutoConfiguration
:启用自动配置,该注解会使Spring Boot根据项目中依赖的jar包自动配置项目的配置项:
如:我们添加了spring-boot-starter-web
的依赖,项目中也就会引入SpringMVC的依赖,Spring Boot就会自动配置tomcat和SpringMVC
-
@ComponentScan
:默认扫描@SpringBootApplication
所在类的同级目录以及它的子目录。
关闭自动配置
通过上述,我们得知,Spring Boot会根据项目中的jar包依赖,自动做出配置,Spring Boot支持的自动配置如下(非常多):
自动配置
如果我们不需要Spring Boot自动配置,想关闭某一项的自动配置,该如何设置呢?
比如:我们不想自动配置Redis,想手动配置。
@Controller
@SpringBootApplication(exclude={RedisAutoConfiguration.class})
@Configuration
public class HelloApplication {
...
自定义Banner
启动Spring Boot项目后会看到这样的图案:
这个图片其实是可以自定义的:
-
打开网站:
http://patorjk.com/software/taag/#p=display&h=3&v=3&f=4Max&t=MYWAY%20Spring%20Boot
-
拷贝生成的字符到一个文本文件中,并且将该文件命名为banner.txt
-
将banner.txt拷贝到项目的resources目录中:
重新启动程序,查看效果:
如果不想看到任何的banner,也是可以将其关闭的:
public static void main(String[] args) {
// SpringApplication.run(HelloApplication.class, args);
SpringApplication application = new SpringApplication(HelloApplication.class);
application.setBannerMode(Banner.Mode.OFF);//关闭Banner
application.run(args);
}
全局配置文件
Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下。
- 修改tomcat的端口为8088
server.port=8088
重启
- 修改进入DispatcherServlet的规则为:*.html
server.port=8088
server.servlet-path=*.html
重启之后:
网友评论