`

spring-boot实例

 
阅读更多

环境 :

IntelliJ IDEA 2016.2(推荐使用)

mysql

jdk 1.7.0_17
maven 3.3.9

(这个是我本地用的版本)

 

环境和工具安装好后,开始创建项目。

第一步:打开 IDEA 新建项目,创建一个新项目



 

然后:



  点击 “Next” 按钮继续,会出来一个选项卡,如下图:



 

选择完成后点击“Next”继续,然后又出来一个面板:



 

 选择完成后点击“Next”继续,选择你的存放路径:



 选择完成,项目这是正在打开并加载maven配置,等加载完再继续下一步;

 

第二步:

项目打开,删除没用文件夹以及文件:



 

 

 

新建一个类HelloController:



 

 

 

然后启动项目,在启动类SpringbootDemoApplication中点击右键,选择Run:



 

 

 

 

 

 

页面访问查看工程:

http://127.0.0.1:8080/hellow/say

 



 

第三步,添加配置,连接数据库添加功能:

删除 多余的包:



 

 

 

配置文件 推荐使用application.yml文件,先看一下 application.properties 和application.yml文件的差别:



 

application.yml 相对简便一点;必须注意application.yml  中,变量和值之间必须有空格,否则变量变灰,配置会报错如图:



 

 

 

认识spring-boot就到这里;

下边是我做的一个例子,仅供参考:

 

 

pom.xml:

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>

 

 

 

 

application.yml (总配置文件):

 

spring:
  profiles:
    active: prod
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/demo
    username: root
    password: 123456
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

 

 

application-dev.yml (测试环境配置文件) 

server:
  port: 8080
girl:
  cupSize: B
  age: 20

 

application-prod.yml(生产环境配置文件)

server:
  port: 8085
girl:
  cupSize: G
  age: 20

 

 

 

实体类Girl.class:

package com.imooc;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

/**
 * Created by user on 2017/4/11.
 * 加注解Entity , 就表明 Girl类是和数据库对应的 , Girl类中的字段会生成数据库Girl表中的字段
 */
@Entity
public class Girl {

    @Id
    @GeneratedValue //表示id为自增长
    private Integer id;

    private String cupSize;

    private Integer age;

    //Constructor 构建无参的构造方法,必须要选无参的,否则连接数据库就报错
    public Girl() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCupSize() {
        return cupSize;
    }

    public void setCupSize(String cupSize) {
        this.cupSize = cupSize;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

 

 

 

 

新建GirlController.class:

package com.imooc;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * Created by user on 2017/4/11.
 */
@RestController
public class GirlController {

    @Autowired
    private GirlRepository girlRepository;

    @Autowired
    private GirlService girlService;

    /**
     * 查询列表
     * @return
     */
    @GetMapping(value="/girls")
    public List<Girl> girlList(){
        return girlRepository.findAll();
    };


    /**
     * 添加
     * @param cupSize
     * @param age
     * @return
     * 访问链接:http://127.0.0.1:8085/girlAdd?cupSize=F&age=19
     */
    @PostMapping(value="/girlAdd")
    public Girl gilrAdd(@RequestParam("cupSize") String cupSize,
                          @RequestParam("age") Integer age){
        Girl girl = new Girl();
        girl.setCupSize(cupSize);
        girl.setAge(age);
        return girlRepository.save(girl);

    };


    /**
     * 根据ID查找
     * @param girlid
     * @return
     */
//    @GetMapping(value="/findGirlById")  传参字段@RequestParam("id")
    @GetMapping(value="/findGirlById/{id}")
    public Girl findGirlById(@PathVariable("id") Integer girlid){
        return girlRepository.findOne(girlid);
    };


    /**
     * 修改
     * @param girlid
     * @param cupSize
     * @param age
     * @return
     * 访问路径:http://127.0.0.1:8085/updateGirlById?id=2&cupSize=F&age=30
     */
    @PutMapping(value="/updateGirlById/{id}")
    public Girl updateGirlById(@PathVariable("id") Integer girlid,
                               @RequestParam("cupSize") String cupSize,
                               @RequestParam("age") Integer age){
        Girl girl = new Girl();
        girl.setId(girlid);
        girl.setCupSize(cupSize);
        girl.setAge(age);
        return girlRepository.save(girl);
    };


    /**
     * 删除
     * @param id
     */
    @DeleteMapping(value="/deleteGirlById/{id}")
    public void deleteGirlById(@PathVariable("id") Integer id){
         girlRepository.delete(id);

    };

    /**
     * 根据年龄查询 查出多个对象
     * @param age
     * @return
     */
    @GetMapping(value="/findByAge/{age}")
    public List<Girl> findByAge(@PathVariable("age") Integer age){
        return girlRepository.findByAge(age);
    };


    @PostMapping(value="/insertTwo")
    public void insertTwo(){
        girlService.insertTwo();

    };

}

 

 

 

新建GirlProperties.class:

package com.imooc;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * Created by user on 2017/4/10.
 */
@Component  //注入配置时必加注解
@ConfigurationProperties(prefix = "girl") //获取前缀是 girl 的配置
public class GirlProperties {

    private String cupSize;

    private Integer age;

    public String getCupSize() {
        return cupSize;
    }

    public void setCupSize(String cupSize) {
        this.cupSize = cupSize;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

 

 

 

 

新建GirlRepository.class:

package com.imooc;

import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

/**
 * Created by user on 2017/4/11.
 */
public interface GirlRepository extends JpaRepository<Girl,Integer>{


    /**
     * 通过年龄查询
     * @return
     */
    public List<Girl> findByAge(Integer age);
}

 

 

 

 

 

新建GirlService.class:

package com.imooc;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * Created by user on 2017/4/12.
 */
@Service
public class GirlService {

    @Autowired
    private GirlRepository girlRepository;

    @Transactional  //添加一条数据的时候也要加事务 @Transactional,只有查询的时候不加事务。
    public void insertTwo(){
        Girl girlA = new Girl();
        girlA.setCupSize("B");
        girlA.setAge(18);
        girlRepository.save(girlA);

        Girl girlB = new Girl();
        girlB.setCupSize("DDDDD");
        girlB.setAge(20);
        girlRepository.save(girlB);


    };


}

 

 

 

 

 

 

 

 

 

 

  • 大小: 37.5 KB
  • 大小: 51 KB
  • 大小: 41 KB
  • 大小: 59.6 KB
  • 大小: 28.9 KB
  • 大小: 50.7 KB
  • 大小: 54.8 KB
  • 大小: 62.6 KB
  • 大小: 70.3 KB
  • 大小: 11.2 KB
  • 大小: 90.7 KB
  • 大小: 45 KB
  • 大小: 14.5 KB
  • 大小: 27.7 KB
分享到:
评论

相关推荐

    spring-boot-starter-kafka示例程序

    spring-boot-starter-kafka示例程序\n 支持springcloud1.5.4,kafka0.8.2.x\n 项目地址:https://github.com/zhyea/spring-boot-starter-kafka

    spring-boot-samples-master

    "spring-boot-samples-master"这个项目,正是一个集大成的Spring Boot示例仓库,它包含了各种Spring Boot应用场景的实例代码,帮助开发者深入理解和学习Spring Boot的核心特性和最佳实践。 在深入探讨之前,我们先...

    spring-boot-starter-hbase自定义的spring-boot的hbasestarter

    《Spring Boot Starter HBase:构建高效HBase操作的利器》 在Java开发中,Spring Boot以其简洁、高效的特性,已经成为Web开发框架的首选之一。它通过自动配置和启动器(starter)来简化应用的搭建与运行。而当我们...

    spring-boot-web-restfulcrud代码示例

    Spring Boot 是一个由 Pivotal Team 创建的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量的常用第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地构建稳定且...

    spring-boot-04-web-restfulcrud

    本教程聚焦于Spring Boot 2.4版本,针对初学者提供一个完整的RESTful CRUD(创建、读取、更新、删除)操作实例,结合尚硅谷B站教程进行讲解。对于已经熟悉Spring Boot 1.5的老手来说,这个教程可能会揭示2.4版本的...

    spring-boot很多实例

    包括'chapter-2-spring-boot-quick-start','chapter-4-spring-boot-validating-form-input','chapter-5-spring-boot-paging-sorting','doc','springboot-configuration','springboot-dubbo-client','springboot-...

    spring-boot-starter-mybatis-spring-boot-1.3.4.zip

    《Spring Boot与MyBatis深度整合指南》 在Java开发领域,Spring Boot以其简洁的配置、快速的启动和丰富的生态,已经成为微服务架构中的首选框架。而MyBatis作为轻量级持久层框架,以其灵活的SQL映射和强大的实体与...

    spring-boot-starter-mybatis-spring-boot-1.3.3.zip

    在主配置类上添加`@MapperScan`注解,指定Mapper接口所在的包名,让Spring Boot自动扫描并实例化。 6. **使用Mapper** 在需要使用的地方,通过@Autowired注解注入对应的Mapper接口,即可调用其方法进行数据库操作...

    spring-boot-starter-mybatis-spring-boot-1.1.0.zip

    《Spring Boot集成MyBatis详解:以spring-boot-starter-mybatis-1.1.0为例》 在现代Java开发中,Spring Boot以其简洁、高效的特点备受开发者青睐,而MyBatis作为一款轻量级的持久层框架,因其灵活的数据访问方式也...

    spring-boot2.0全新教程实例20例.zip

    spring-boot2.0全新教程实例20例.zip - [spring-boot-helloWorld](https://github.com/ityouknow/spring-boot-examples/tree/master/spring-boot-helloWorld):Spring Boot 的 hello World 版本 - [spring-boot-...

    spring-boot示例项目

    本项目示例基于spring boot 最新版本(2.1.9)实现,Spring Boot、Spring Cloud 学习示例,将持续更新…… 在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目...

    spring-boot集成实例_mybatis,mail,mysql,mongodb,cassand_spring-boot

    spring-boot集成实例_mybatis,mail,mysql,mongodb,cassand_spring-boot-integration

    spring-boot-starter-mybatis-spring-boot-2.2.1.tar.gz

    - **Mapper扫描**:通过`@MapperScan`注解扫描Mapper接口,使Spring能够自动管理这些接口的实例。 4. **使用注解进行Mapper配置** Spring Boot Starter MyBatis支持使用注解来替代XML配置,可以在Mapper接口上...

    spring-boot-examples-master.zip

    本篇文章将深入探讨如何在Spring Boot项目中集成MyBatis,通过实例分析`spring-boot-examples-master.zip`中的代码,来展示这一整合过程以及相关知识点。 首先,我们来看标题中的`spring-boot-examples-master.zip`...

    spring-boot-python-demo

    【标题】"spring-boot-python-demo" 是一个项目实例,它结合了Spring Boot和Python技术,展示了如何在Java环境中集成Python代码。Spring Boot是Spring框架的一个轻量级版本,旨在简化微服务开发,而Python则是一种...

    spring-boot-demo实例.rar

    **Spring Boot 实例分析** `spring-boot-demo` 示例项目可能包含了以下内容: 1. **主程序**:`src/main/java/com/example/DemoApplication.java`,这是一个简单的 Spring Boot 应用启动类,包含 `@SpringBoot...

    Spring-Boot-Mybatis实例

    在本项目"Spring-Boot-Mybatis实例"中,我们将探讨如何将流行的Java框架Spring Boot与数据持久层框架Mybatis整合,以便构建高效、简洁的Web应用。该项目源自一篇名为"SpringBoot入门系列:第六篇 mybatis"的博客文章...

    spring-boot-dubbo

    《Spring Boot整合Dubbo入门实例详解》 在现代企业级应用开发中,Spring Boot和Dubbo作为两个重要的技术组件,分别扮演着简化Spring应用初始化和构建,以及提供高性能、轻量级服务治理的角色。本教程将详细介绍如何...

    dbApi-spring-boot-starter-demo:dbApi-spring-boot-starter案例代码

    "dbApi-spring-boot-starter-demo-master"是一个完整的实例项目,它展示了如何集成和使用dbApi-spring-boot-starter。主要包含以下几个部分: 1. 主配置:分析项目的主配置文件,了解如何配置数据库连接以及启动器...

    slf4j-spring-boot-starter-master.zip

    在描述中提到的“一个注解搞定日志”,可能是指Spring Boot中的`@Log`或`@Slf4j`注解,这些注解可以自动导入必要的SLF4J依赖,并在类中创建一个预定义的Logger实例,这样就可以直接使用这个实例进行日志记录,大大...

Global site tag (gtag.js) - Google Analytics