说明:框架是spring-boot,数据库是mysql,dao层用的自带的data-jpa
一、创建一个maven项目,取名spring-boot-simpleFrame
二、pom.xml的添加,引入jar包
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>spring-boot-simpleFrame</groupId>
<artifactId>spring-boot-simpleFrame</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>spring-boot-simpleFrame Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- jdk版本号,这里需要你本地进行的jdk进行修改,这里使用的是1.7的版本. -->
<java.version>1.7</java.version>
</properties>
<!--
spring boot 父节点依赖,
引入这个之后相关的引入就不需要添加version配置,
spring boot会自动选择最合适的版本进行添加。
在这里使用的1.3.3版本,可能目前官方有最新的版本了,大家可以
使用最新的版本。
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<dependencies>
<!-- spring boot web支持:mvc,aop...
这个是最基本的,基本每一个基本的demo都是需要引入的。
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- mysql驱动.
我们的demo是多数据源,在这里使用Mysql数据库.
-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- spring jpa
spring jpa中带有自带的tomcat数据连接池;
在代码中我们也需要用到.
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- junit test 测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
<finalName>spring-boot-simpleFrame</finalName>
</build>
</project>
三、启动项 App.java
package com.cn.zjq;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
四、配置文件的生成,端口号、数据库连接(mysql)等
server.port=8107
#数据库连接(mysql)
spring.datasource.url = jdbc:mysql://192.168.1.164:3306/meiyue1
spring.datasource.username = root
spring.datasource.password = 123456
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
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
五、entity、service、daor的创建
Demo.java
package com.cn.zjq.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity(name="t_demo")
public class Demo {
@Id @GeneratedValue
private long id;
private String name;
public Demo() {
super();
}
public Demo(String name) {
super();
this.name = name;
}
public Demo(long id, String name) {
this.id = id;
this.name = name;
}
public long getId() {
return id;
}
@Column(name="demo_id")
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
@Column(name="demo_name")
public void setName(String name) {
this.name = name;
}
}
DemoDao.java
package com.cn.zjq.dao;
import org.springframework.data.repository.CrudRepository;
import com.cn.zjq.entity.Demo;
public interface DemoDao extends CrudRepository<Demo, Long>{
}
DemoService.java
package com.cn.zjq.service;
import java.util.List;
import com.cn.zjq.entity.Demo;
public interface DemoService {
public void save(Demo demo);
public List<Demo> findAll();
}
DemoServiceImpl.java
package com.cn.zjq.service.impl;
import java.util.List;
import javax.transaction.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.cn.zjq.dao.DemoDao;
import com.cn.zjq.entity.Demo;
import com.cn.zjq.service.DemoService;
@Service
public class DemoServiceImpl implements DemoService{
@Autowired
private DemoDao demoDao;
@Transactional
public void save(Demo demo) {
demoDao.save(demo);
}
public List<Demo> findAll() {
return (List<Demo>) demoDao.findAll();
}
}
六、测试,controller的创建
DemoController.java
package com.cn.zjq.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.cn.zjq.entity.Demo;
import com.cn.zjq.service.DemoService;
@RequestMapping(value="/demo")
@RestController
public class DemoController {
@Autowired
private DemoService demoService;
@RequestMapping(value="/save")
public String save(){
Demo demo = new Demo("哈哈");
demoService.save(demo);
return "success";
}
@RequestMapping(value="/list")
public Map<String, Object> list(){
Map<String, Object> map = new HashMap<String, Object>();
map.put("data", demoService.findAll());
return map;
}
}
http://localhost:8107/demo/save
http://localhost:8107/demo/list
七、最终项目目录