SpringBoot学习

1.SpringBoot概述

1.1 简介

  1. 使用Spring boot ,可以轻松的创建独立运行的程序,非常容易构建独立的服务组件,是实现分布式架构、微服务架构利器
  2. Spring boot简化了第三方包的引用,通过提供的starter,简化了依赖包的配置

1.2 优点

  1. 轻松创建独立的Spring应用程序
  2. 内嵌Tomcat、jetty等web容器,不需要部署WAR文件
  3. 提供一系列的“starter” 来简化的Maven配置,不需要添加很多依赖(查看依赖结构命令:mvn dependency:tree)
  4. 开箱即用,尽可能自动配置Spring

2.入门项目创建

步骤:

  1. 提前配置好maven
  2. IDEA创建一个maven war项目(一般都使用jar,因为spring是用于服务,不建议与jsp使用)
  3. 在pom.xml添加spring-boot-starter-web依赖(重要)
<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.9.RELEASE</version>
	</parent>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

spring-boot-starter-parent作用
在pom.xml中引入spring-boot-start-parent,它可以提供dependency management,也就是说依赖管理,引入以后在申明其它dependency的时候就不需要version了,后面可以看到。
spring-boot-starter-web作用
springweb 核心组件
4. 写一个控制器如下,然后写一个main方法(这样只能跑一个控制器,推荐单独写App.jave,批量启动控制器),把程序跑起来

package com.gyf.web.controller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RestController//相当于声明Controller - 提共restful 风格
@EnableAutoConfiguration//自动配置,不需要写spring的配置文件
class HelloController {

	@RequestMapping("/hello")//映射路径
	@ResponseBody//响应体
	public String hello() {
		return "Hello World";
	}
	
	public static void main(String[] args) {
		//启动程序
		SpringApplication.run(HelloController.class, args);
	}
}

  1. 在浏览器中访问http://localhost:8080/hello

3. SpringBoot的批量启动控制器方式(推荐)

步骤:

其他的和入门项目一样,另外创建一个App类在App类中配置EnableAutoConfiguration和组件扫描ComponentScan,然后使用SpringApplication启动程序,这样就可以访问多个Controller了

@EnableAutoConfiguration
@ComponentScan(basePackages = {"com.gyf"})//注解扫描,可以扫描多个包
public class App
{
    public static void main( String[] args ) {
        SpringApplication.run(App.class,args);
    }
}

4.SpringBoot新填的注解

  1. @EnableAutoConfiguration 自动配置,相当于写了spring的配置文件,写在启动类App上
  2. @ComponentScan(basePackages = {“com.gyf”}) 注解扫描,可以扫描多个包
  3. @RestController 声明Rest风格的控制器
  4. @RequestMapping(“hello/{name}”) @RestController声明了参数需要按照rest的风格在访问路径里传递
  5. @MapperScan(basePackages = “com.gyf”)//扫描Mapper
    说明:@RestController”和”@RequestMapping”由 Spring MVC 提供,用来创建 REST 服务(参数传递方式)
    在这里插入图片描述

5. 静态资源(js,css,imgs)的访问

存放规则

在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。
Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:
/static
/public
/resources(右键选择标记为资源文件夹)
/META-INF/resources
在这里插入图片描述
:Spring Boot建议使用这些模板引擎,避免使用JSP,若一定要使用JSP将无法实现Spring Boot的多种特性。

6. 整合其他

  1. log4j
  2. 多数据源
  3. 多事务
  4. AOP统一管理日志
  5. mybatis
  6. freemarker

7. application.properties和application.yml

  1. 两者作用相同,只是写法不同,.properties记住不要有空格
  2. 修改端口号和访问项目名的有无,以application.properties为例

server.port=8888
server.context-path=/test

8. 打包部署

前提条件:
pom.xml要配置打包插件

<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<mainClass>com.gyf.app.App</mainClass>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>

			</plugin>
		</plugins>
	</build>

  1. 先打成war包或者jar包
  2. 在cmd里使用java -jar test3-0.0.1-SNAPSHOT.jar 运行即可

易错点:静态资源打包时,pom.xml里还需配置以下

<!--打包时,带上资源文件-->
<resource>
  <directory>src/main/resources</directory>
  <includes>
    <include>**/*.*</include>
  </includes>
</resource>

总结

学习了SpringBoot,顿时感觉神清气爽,省去了以前的SSM的大量配置文件和过多的Maven依赖,使项目开发的更快,只需配置pom.xml文件即可。很容易搭建项目,得益于springboot强大的注解功能。建议不要使用jsp做页面展示,影响了springboot的性能,暂时推荐使用freemark模板引擎,可以在Application.properties里加一行spring.freemarker.request-context-attribute=request,方便前端取项目名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值