intellij idea + spring boot + spring data jpa + druid + maven + mysql + thymeleaf
来源:互联网 发布:angularjs2 定义数组 编辑:程序博客网 时间:2024/06/02 01:58
pom.xml
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo3</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo3</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.28</version> </dependency> <dependency> <groupId>net.sourceforge.nekohtml</groupId> <artifactId>nekohtml</artifactId> <version>1.9.22</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project>
application.properties
#加入这个是为了让thymeleaf语法检查不那么严格,方便写htmlspring.thymeleaf.mode = LEGACYHTML5spring.jpa.database: MYSQL# 数据库访问配置# 主数据源,默认的spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/hgwxm?useUnicode=true&characterEncoding=utf-8spring.datasource.username=rootspring.datasource.password=# 下面为连接池的补充设置,应用到上面所有数据源中spring.jpa.show-sql = true# 下面为连接池的补充设置,应用到上面所有数据源中# 初始化大小,最小,最大spring.datasource.druid.initialSize=5spring.datasource.druid.minIdle=5spring.datasource.druid.maxActive=20# 配置获取连接等待超时的时间spring.datasource.druid.maxWait=60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒spring.datasource.druid.timeBetweenEvictionRunsMillis=60000# 配置一个连接在池中最小生存的时间,单位是毫秒spring.datasource.druid.minEvictableIdleTimeMillis=300000spring.datasource.druid.validationQuery=SELECT 1 FROM t_userspring.datasource.druid.testWhileIdle=truespring.datasource.druid.testOnBorrow=truespring.datasource.druid.testOnReturn=false# 打开PSCache,并且指定每个连接上PSCache的大小spring.datasource.druid.poolPreparedStatements=truespring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙spring.datasource.druid.filters=stat,wall,log4j# 通过connectProperties属性来打开mergeSql功能;慢SQL记录spring.datasource.druid.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000# 合并多个DruidDataSource的监控数据#spring.datasource.druid.useGlobalDataSourceStat=true
一个实体
package com.example.demo;import javax.persistence.*;import java.util.Date;@Entity@Table(name="site")public class Site { @Id @GeneratedValue(strategy = GenerationType.AUTO) private int id; private int tmpid; String name; String url; String account; String pass; String msg; private Date createtime = new Date(); public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public int getTmpid() { return tmpid; } public void setTmpid(int tmpid) { this.tmpid = tmpid; } public Date getCreatetime() { return createtime; } public void setCreatetime(Date createtime) { this.createtime = createtime; }}
实体对应的Service
package com.example.demo;import org.springframework.data.repository.CrudRepository;import org.springframework.stereotype.Repository;import java.util.List;@Repositorypublic interface SiteService extends CrudRepository<Site, Integer> { public List<Site> findAll(); public Site findOne(Integer id); public Site save(Site site); public void delete(Integer id); }
实例controller
package com.example.demo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class HomeController { @Autowired private SiteService siteService; @RequestMapping("/") String home(){ return "index"; } @RequestMapping("/addSite") @ResponseBody String addSite(){ Site site = new Site(); site.setAccount("aaa123"); site.setMsg("哦哦"); site.setName("111"); site.setPass("123"); site.setUrl("http://www.baidu.com"); siteService.save(site); return "success"; }}
//配置druid的类 DruidDataSourceConfiguration.java
package com.example.demo;import com.alibaba.druid.support.http.StatViewServlet;import com.alibaba.druid.support.http.WebStatFilter;import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.boot.jdbc.DatabaseDriver;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.boot.web.servlet.ServletRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import javax.sql.DataSource;import java.util.Map;//参考 http://blog.csdn.net/caimengyuan/article/details/54926105@Configuration@ConditionalOnClass(com.alibaba.druid.pool.DruidDataSource.class)@ConditionalOnProperty(name = "spring.datasource.type", havingValue = "com.alibaba.druid.pool.DruidDataSource", matchIfMissing = true)public class DruidDataSourceConfiguration { @SuppressWarnings("unchecked") protected <T> T createDataSource(DataSourceProperties properties, Class<? extends DataSource> type) { return (T) properties.initializeDataSourceBuilder().type(type).build(); } /** * @see org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.Tomcat 仿写的你可以去了解 * @param properties 读入的配置 * @return DruidDataSource */ @Bean @ConfigurationProperties("spring.datasource.druid") public com.alibaba.druid.pool.DruidDataSource dataSource(DataSourceProperties properties) { com.alibaba.druid.pool.DruidDataSource dataSource = createDataSource( properties, com.alibaba.druid.pool.DruidDataSource.class); DatabaseDriver databaseDriver = DatabaseDriver.fromJdbcUrl(properties.determineUrl()); String validationQuery = databaseDriver.getValidationQuery(); if (validationQuery != null) { dataSource.setTestOnBorrow(true); dataSource.setValidationQuery(validationQuery); } return dataSource; } /** * 注册一个StatViewServlet */ @Bean public ServletRegistrationBean druidStatViewServlet(){ //org.springframework.boot.context.embedded.ServletRegistrationBean提供类的进行注册. ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*"); //添加初始化参数:initParams //白名单: servletRegistrationBean.addInitParameter("allow","127.0.0.1"); //IP黑名单 (存在共同时,deny优先于allow) : 如果满足deny的话提示:Sorry, you are not permitted to view this page. servletRegistrationBean.addInitParameter("deny","192.168.1.73"); //登录查看信息的账号密码. servletRegistrationBean.addInitParameter("loginUsername","root"); servletRegistrationBean.addInitParameter("loginPassword","password"); //是否能够重置数据. servletRegistrationBean.addInitParameter("resetEnable","false");// 禁用HTML页面上的“Reset All”功能 return servletRegistrationBean; } /** * 注册一个:filterRegistrationBean */ @Bean public FilterRegistrationBean druidStatFilter(){ FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter()); filterRegistrationBean.setName("druidWebStatFilter"); //添加过滤规则. filterRegistrationBean.addUrlPatterns("/*"); //添加忽略的格式信息. filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); return filterRegistrationBean; }}
阅读全文
0 0
- intellij idea + spring boot + spring data jpa + druid + maven + mysql + thymeleaf
- intellij idea + spring boot + mybatis + druid + maven + mysql + thymeleaf
- Intellij idea + Spring boot + Thymeleaf + MySQL
- spring boot+jpa+thymeleaf 练习
- 使用IntelliJ IDEA 15和Maven 开发Spring Data JPA + MVC Web应用
- 使用IntelliJ IDEA 15和Maven 开发Spring Data JPA + MVC Web应用
- 使用IntelliJ IDEA 15和Maven 开发Spring Data JPA + MVC Web应用
- spring-boot-data-jpa
- Spring boot 整合spring Data JPA+Spring Security+Thymeleaf框架(上)
- 25.Maven 的单模块 / 多模块之 Spring MVC + Spring + Spring Data JPA 项目(基于 IntelliJ IDEA) - IntelliJ IDEA 使用教程
- spring-data-jpa+spring+hibernate+druid配置
- Spring JPA Data + Hibernate + MySQL + Maven
- Spring Boot+JPA+Mysql+ThymeLeaf快速构建CURD系统(一)Spring Boot介绍
- Spring Boot+JPA+Mysql+ThymeLeaf快速构建CURD系统(一)Spring Boot介绍
- spring data jpa+ spring +maven
- Spring Boot与Spring Data JPA、MySql环境搭建
- Spring Data JPA例子[基于Spring Boot、Mysql]
- Spring Data JPA例子[基于Spring Boot、Mysql]
- LeetCode 10. Regular Expression Matching
- python3 爬取深圳主板公司名称,公司网址
- 如何在sublime中使用sass
- xml解析
- 二叉排序树(二叉查找树)
- intellij idea + spring boot + spring data jpa + druid + maven + mysql + thymeleaf
- spring中IOC和DI
- Spring4学习笔记(四):集合属性
- Wireshark导出部分包
- Python学习笔记(五)
- 使用maven实现tomcat热部署
- Linux0.11内核分析一
- 这个五月我都做了什么
- Python学习笔记(六)