目录
1.简介
它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须)的理念让你的项目快速运行起来。它并不是什么新的框架,而是默认配置了很多框架的使用方式,就像Maven整合了所有的jar包一样,Spring Boot整合了所有框架
2.手动搭建spring boot项目
(1)新建maven项目
(2)添加依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
(3)编写启动类
package com.demo.controller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
3.idea搭建spring boot项目
(1)新建项目,选择Spring Initializr,然后选择默认的url点击【下一个】
(2)然后修改一下项目的信息
(3)勾选上Web模板
(4)选择好项目的位置,点击【完成】
4. Eclipse搭建spring boot项目
(1)下载安装Eclipse的STS插件
(2)选择新建项目 - 春 - 春启动项目,新建春启项目。
5.控制器的编写
(1)新建类,类上添加注解
@RestController //@Controller和@ResponseBody注解的合体版
@RequestMapping("xxx") // 指明该类访问路径,可不写
(2)新建方法,方法上加注解
@RequestMapping(value="yyy") // 指明该ff访问路径
(3)启动启动类可启动项目(main方法)
(4)访问路径为:/ xxx / yyy
6. spring boot的相关配置
(1)简介
Spring Boot使用一个全局的配置文件application.properties或application.yml,放置在【src / main / resources】目录或者类路径的/配置。
Spring Boot不仅支持常规的属性配置文件,还支持yaml语言的配置文件.yaml是以数据为中心的语言,在配置数据的时候具有面向对象的特征。
(2)默认配置的配置值进行修改
#配置程序端口,默认为8080
server.port=40000
#session过期时间,以秒为单位
server.session.timeout=1800
#配置默认访问路径,默认为/
server.context-path=/
#配置Tomcat编码,默认为UTF-8
server.tomcat.uri-encoding=UTF-8
#配置最大线程数 默认为200
server.tomcat.max-threads=1000
(3)配置信息获取
定义变量,上面加注解@Value( “$ {XXXX}”),配置文件在项目启动时加载
(4)封装配置信息
新建实体类,类上加注解
@Component:表明当前类是一个Java Bean
@ConfigurationProperties(prefix = "xxx"):表示获取前缀为xxx的配置信息
字段为配置key的剩余部分,如:student.name - > student为前缀,name为实体类字段
(5) 使用随机数
在spring boot的属性配置文件中,可以通过使用${random}配置来产生随机的int值、long值或string字符串
(6) 多环境配置
在spring boot中,多环境配置的文件名需要满足 application-{profile}.properties的格式,其中{profile}对应你的环境标识。
application-dev.properties:开发环境
在application.properties中配置通用内容,并设置spring.profiles.active=dev,以开发环境为默认,在application-{profile}.properties中配置各个环境不同的内容,通过命令行方式去激活不同环境的配置。
7. spring boot的相关应用
(1)热部署
添加POM依赖即可:
<dependency>
<groupId>org.spingframework.boot</groupId>
<artifactId>spring-boot-drevtools</artifactId>
<optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>
(2)Spring Boot支持JSP
添加依赖:
<!-- servlet依赖. -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- tomcat的支持.-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
修改配置文件,将我们的JSP文件重定向到/ WEB-INF / views /目录下:
#JSP 路径
spring.mvc.view.prefix:/WEB-INF/jsp/
#JSP 后缀
spring.mvc.view.suffix:.jsp
(3)Spring Boot整合mybatis与mysql
添加依赖:
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
修改配置文件:
spring.datasource.url=jdbc:mysql://localhost:3306/xxxx?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
启动类上加注解:
@MapperScan("com.winter.mapper")//将项目中对应的mapper类的路径加进来就可以了
(4)Spring Boot整合jpa
引入POM依赖:
<!--引入MySQL的依赖关系-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--引入JPA的依赖关系-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
修改配置文件,添加JPA配置。
spring.jpa.database=mysql
spring.jpa.show-sql=true
创建JPA接口类
新建接口,并且继承SpringDataJPA内的接口作为父类,JpaRepository接口(SpringDataJPA提供的简单数据操作接口),JpaSpecificationExecutor(SpringDataJPA提供的复杂查询接口),序列化(序列化接口)。
创建实体类
类上加注解:
@Entity
@Table(name="表名")
主键ID上加注解:
@Id
@GeneratedValue
@Column(name = "列名")
其他字段上加注解:
@Column(name = "列名")
(5)Spring boot简单整合rabbitMq
添加POM依赖:
<!-- 添加springboot对amqp的支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
修改配置文件,添加的RabbitMQ配置。
spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
配置队列(消息队列)。采用的是直接模式,需要在配置队列的时候,指定一个键,使其和交换机绑定。
@Configuration
public class SenderConf {
@Bean
public Queue queue() {
return new Queue("queue");
}
}
使用AmqpTemplate去发送消息:
//类中自动导入AmqpTemplate
@Autowired private AmqpTemplate template;
//方法里发送消息
template.convertAndSend("queue","消息,可以为字符串,也可以为对象");
监听消息,消费消息
//方法上加注解,消息通过方法参数获得
@RabbitListener(queues="queue")