一、环境准备:
1、安装jdk,配置环境变量:https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
2、安装maven,配置阿里云镜像:https://www.cnblogs.com/kyleinjava/p/9549481.html
3、开发工具本文采用Eclipse,下载链接:https://www.eclipse.org/downloads/
二、创建SringBoot项目:
1、https://start.spring.io/
三、配置数据源:
@Autowired
private Environment env;
// destroy-method="close"的作用是当数据库连接不使用的时候,就把该连接重新放到数据池中,方便下次使用调用
@Bean(destroyMethod = "close")
public DataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(env.getProperty("spring.datasource.url"));
dataSource.setUsername(env.getProperty("spring.datasource.username"));// 用户名
dataSource.setPassword(env.getProperty("spring.datasource.password"));// 密码
dataSource.setDriverClassName(env.getProperty("spring.datasource.driverClassName"));
dataSource.setInitialSize(10);// 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时
dataSource.setMaxActive(200);// 最大连接池数量
dataSource.setMinIdle(10);// 最小连接池数量
dataSource.setMaxWait(60000);// 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
dataSource.setValidationQuery("SELECT 1 ");// 用来检测连接是否有效的sql,要求是一个查询语句,常用select
// 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会其作用。
dataSource.setTestOnBorrow(false);// 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
dataSource.setTestWhileIdle(true);// 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
dataSource.setPoolPreparedStatements(false);// 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
return dataSource;
}
四、添加Maven相关依赖:
<!-- 数据库 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- 添加Druid依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.6</version>
</dependency>
<!-- 前端页面 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- 热部署(修改代码后自动重启项目) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!-- 工具类 -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<!-- shiro安全框架 -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.4.0</version>
</dependency>