Spring Boot介绍
Spring Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring进行入门体验,让Java开发也能够实现Ruby on Rails那样的生产效率。为Spring生态系统提供了一种固定的、约定优于配置风格的框架。
Spring Boot 特征
●创建独立的Spring应用程序
●直接嵌入Tomcat(无需部署WAR文件)
●提供可选择性的"starter",
●自动配置Spring和第三方库
●提供产品化的特征,例如监控和健康检查.
●绝对没有代码生成,也不需要XML配置
●Spring Boot是非常强大的,可以集成java中所有的开源框架,而且非常的简单
Spring 官方网站
https://spring.io/projects/spring-boot
首先要进行版本查询
用 java -version 检查jdk的版本.(jdk版本要1.7以上版本,8以下版本)
用 mvn -v 检查maven的版本.(maven版本要 3.2.3以上版本)
创建POM
从创建Maven pom.xml文件开始。在pom.xml文件添加以下内容:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.17.RELEASE</version>
</parent>
添加类路径依赖项
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
创建main方法进行运算
@RestController
@SpringBootApplication
public class Example {
@RequestMapping("/")
String home() {
return "sleep";
}
@RequestMapping("/y")
HashMap test() {
HashMap map = new HashMap();
map.put("name", "manggo");
return map;
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Example.class, args);
}
}
连接MySQL数据库
加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
或者 <artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
额外要加一个数据库驱动包
后面不用加版本号,会默认加,如果加了版本号会覆盖默认的版本号(不建议加)
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
配置驱动类
在application.properties文件中加入:
spring.datasource.url=jdbc:mysql://localhost/unit02
spring.datasource.username=root
spring.datasource.password=ps123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
【只要加完依赖就要连接数据库了,依赖包会主动去连】
druid 相当于c3p0、dbcp 来说功能要强大,性能高,免费提供资源(指对于中国),提供了监控平台,有助于优化我们的代码和sql。
druid依赖加入驱动包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.9</version>
</dependency>
连接jdbc
@Value("${spring.datasource.driver-class-name}")
private String driverClass;
@Value("${spring.datasource.url}")
private String url;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Bean
public DataSource dataSouce() {
DruidDataSource dds=null;
try {
dds=new DruidDataSource();
dds.setDriverClassName(driverClass);
dds.setUrl(url);
dds.setUsername(username);
dds.setPassword(password);
dds.addFilters("stat,wall,og4j");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return dds;
}
@Bean
public ServletRegistrationBean statViewServlet(){
//创建servlet注册实体
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
//设置ip白名单
servletRegistrationBean.addInitParameter("allow","127.0.0.1");
//设置ip黑名单,如果allow与deny共同存在时,deny优先于allow
servletRegistrationBean.addInitParameter("deny","192.168.0.19");
//设置控制台管理用户
servletRegistrationBean.addInitParameter("loginUsername","root");
servletRegistrationBean.addInitParameter("loginPassword","1220");
//是否可以重置数据
servletRegistrationBean.addInitParameter("resetEnable","false");
return servletRegistrationBean;
}
@Bean
public FilterRegistrationBean statFilter(){
//创建过滤器
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
//设置过滤器过滤路径
filterRegistrationBean.addUrlPatterns("/*");
//忽略过滤的形式
filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
【访问:】 http://127.0.0.1:8080/druid/index.html
【慢查询】:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
自动连接jdbc 先下载依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
官方提供的 spring-boot-starter 在前 ,自己开发的在后(这样好分类)
创建一个application.properties 文件
#修改端口号
#server.port=5050
spring.redis.host=192.168.0.197
spring.datasource.url=jdbc:mysql://localhost/unit02
spring.datasource.username=root
spring.datasource.password=ps123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#设置账号访问.
spring.datasource.druid.stat-view-servlet.login-username=manggo
#设置访问密码.
spring.datasource.druid.stat-view-servlet.login-password=1220
#慢查询.
spring.datasource.druid.filter.stat.slow-sql-millis=10
开发工具
自动禁用 开发工具集:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
在spring.properties添加启动配置 (添加了maven依赖 该参数默认为true 如果想禁用 改成false)
自定义banner
springboot默认启动时 输出的图标就是banner 比如
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.7.RELEASE)
spring提供了自定义banner的方式在 src/main/resources添加文件banner.txt 添加特殊的自定义符号 在该txt中可以使用资源文件的一些特殊信息
比如:
\ /
\ o ^ o /
\ ( ) /
____________(%%%%%%%)____________
( / / )%%%%%%%( \ \ )
(___/___/__/ \__\___\___)
( / /(%%%%%%%)\ \ )
(__/___/ (%%%%%%%) \___\__)
/( )\
/ (%%%%%) \
(%%%)
!