1分钟Spring Boot入门

一.Spring Boot简介

   1.什么是Spring Boot

Spring Boot是由Pivotal团队提供的框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者

Spring Boot并不是一个框架,从根本上将,它就是一些库的集合,maven或者gradle项目导入相应依赖即可使用Spring Boot,而且无需自行管理这些库的版本。

  2.为什么使用

Spring Boot是为简化Spring项目配置而生,使用它使得jar依赖管理以及应用编译和部署更为简单。Spring Boot提供自动化配置,使用Spring Boot,你只需编写必要的代码和配置必须的属性。

使用Spring Boot,只需20行左右的代码即可生成一个基本的Spring Web应用,并且内置tomcat,构建的fat Jar包通过Java -jar就可以直接运行。

如下特性使得Spring Boot非常契合微服务的概念,可以结合Spring Boot与Spring Cloud和Docker技术来构建微服务并部署到云端:

一个可执行jar即为一个独立服务很容易加载到容器,每个服务可以在自己的容器(例如docker)中运行

通过一个脚本就可以实现配置与部署,很适合云端部署,并且自动扩展也更容易

简单而言,即Spring Boot使编码更简单,使配置更简单,使部署更简单,使监控更简单。!

  3.功能

   3.1无需手动管理依赖jar包的版本

     

Spring boot通过spring boot starter项目管理其提供的所有依赖的版本,当升级spring boot时,这些依赖的版本也会随之升级。个人无需指定版本号。

但是也可以自定义版本号覆盖springboot的默认值。每个版本的boot都有对应的base spring version,不建议明确地指定spring版本。

例如,使用maven时,只需简单的在pom中包含spring-boot-starter-web即引入了Spring MVC和Tomcat的依赖。

下面是Spring Boot在 org.springframework.boot 组下提供的一些Starters

1分钟Spring Boot入门_第1张图片

 4.SpringBoot在MAVEN环境下的一些集成

   4.1导入Spring Boot依赖

     



		org.springframework.boot
		spring-boot-starter-parent
		1.5.10.RELEASE



java.version 指定jdk版本号:
1.8

添加spring-boot-starter-web依赖

		org.springframework.boot
		spring-boot-starter-web


   
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

 4.2测试

1分钟Spring Boot入门_第2张图片

1分钟Spring Boot入门_第3张图片

 5.热部署

   

即使修改了输出内容也要重启APP,非常麻烦!可以使用spring-boot-devtools来实现!

  1. 介绍

spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去。原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动还要更快,更快指的不是节省出来的手工操作的时间。

其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为  restart ClassLoader

,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间(5秒以内)

  1. 使用

添加依赖包:



            org.springframework.boot

            spring-boot-devtools

            true

  

6.集成jsp

倒入依赖


			org.springframework.boot
			spring-boot-devtools
			true 


		
		
		
			org.apache.tomcat.embed
			tomcat-embed-jasper
			provided
		


   配置application.properties对jsp支持

   

添加src/main/resources/application.properties:

#tomcat server port
server.port=80

# 页面默认前缀目录
spring.mvc.view.prefix=/WEB-INF/jsp/
# 响应页面默认后缀
spring.mvc.view.suffix=.jsp
# 自定义属性,可以在Controller中读取
application.hello=Hello Angel From application

Yaml 方式
server:
  port: 8080
name: kd 
spring:
  mvc:
    view: 
      prefix: /WEB-INF/jsp/
      suffix: .jsp

测试:

@Controller
public class HelloController {
	@RequestMapping("/hello")
	public String helloJsp(Model model){
		System.out.println("HelloController.helloJsp().hello=hello");
		model.addAttribute("hello", "你好");
		return "hello";
	}
}

 7.集成JDBC,jpa

只需引入依赖


		mysql
		mysql-connector-java


		    org.springframework.boot
		    spring-boot-starter-jdbc

		
			org.springframework.boot
			spring-boot-starter-test
		

 

引入spring-boot-starter-jdbc

那么只需要在需要使用的类中加入:

@Resource

private JdbcTemplate jdbcTemplate;

数据库支持

在application.properties文件中配置mysql连接配置文件
########################################################
###datasource
########################################################

spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/test
spring.datasource.username = root
spring.datasource.password = root

Yaml 方式
spring:
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url : jdbc:mysql://localhost:3306/spring-boot-demo?useUnicode=true&characterEncoding=utf-8 
    username : root
    password : root

8.集成jpa

 引入依赖

 


		mysql
		mysql-connector-java



		    org.springframework.boot
		    spring-boot-starter-data-jpa

在application.properties文件中配置mysql连接配置文件
#tomcat server port
server.port=80

########################################################
###datasource
########################################################
spring.datasource.url = jdbc:mysql://localhost:3306/test
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10

########################################################
### Java Persistence Api  (可以不设置,用默认的)
########################################################
# Specify the DBMS
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = true
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
#[org.hibernate.cfg.ImprovedNamingStrategy  #org.hibernate.cfg.DefaultNamingStrategy]
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

9.集成Mybatis

 引入依赖

  


		
			mysql
			mysql-connector-java
		

		
		
			org.mybatis.spring.boot
			mybatis-spring-boot-starter
			1.3.0
		
		
			
		
			com.github.pagehelper
			pagehelper-spring-boot-starter
			1.2.2
		
(4)在application.properties添加配置文件;
#tomcat server port
server.port=80

########################################################
###datasource
########################################################
spring.datasource.url = jdbc:mysql://localhost:3306/test
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10

 PageHelper分页

 

在application.properties中配置分页插件
#pagehelper.
pagehelper.autoDialect=true
pagehelper.closeConn=true

 可以使用全注解配置,如果sql语句过长可以写在xml中

最后给大家安利一个把sql语句打印出来的插件,这个插件比日志打印更加牛批


  
   showSql-spring-boot-starter 
   showSql-spring-boot-starter 
    1.0-M1
  

这个是我们组织的一个大佬写的,大家喜欢的就去我们组织看看吧,我们组织也是做开源项目的一群大佬;欢迎骚扰

   http://www.javatv.cn/

 

你可能感兴趣的:(java,spring-boot,Spring-boot,java)