环境 :
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); }; }
相关推荐
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示例仓库,它包含了各种Spring Boot应用场景的实例代码,帮助开发者深入理解和学习Spring Boot的核心特性和最佳实践。 在深入探讨之前,我们先...
《Spring Boot Starter HBase:构建高效HBase操作的利器》 在Java开发中,Spring Boot以其简洁、高效的特性,已经成为Web开发框架的首选之一。它通过自动配置和启动器(starter)来简化应用的搭建与运行。而当我们...
Spring Boot 是一个由 Pivotal Team 创建的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量的常用第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地构建稳定且...
本教程聚焦于Spring Boot 2.4版本,针对初学者提供一个完整的RESTful CRUD(创建、读取、更新、删除)操作实例,结合尚硅谷B站教程进行讲解。对于已经熟悉Spring Boot 1.5的老手来说,这个教程可能会揭示2.4版本的...
包括'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与MyBatis深度整合指南》 在Java开发领域,Spring Boot以其简洁的配置、快速的启动和丰富的生态,已经成为微服务架构中的首选框架。而MyBatis作为轻量级持久层框架,以其灵活的SQL映射和强大的实体与...
在主配置类上添加`@MapperScan`注解,指定Mapper接口所在的包名,让Spring Boot自动扫描并实例化。 6. **使用Mapper** 在需要使用的地方,通过@Autowired注解注入对应的Mapper接口,即可调用其方法进行数据库操作...
《Spring Boot集成MyBatis详解:以spring-boot-starter-mybatis-1.1.0为例》 在现代Java开发中,Spring Boot以其简洁、高效的特点备受开发者青睐,而MyBatis作为一款轻量级的持久层框架,因其灵活的数据访问方式也...
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 最新版本(2.1.9)实现,Spring Boot、Spring Cloud 学习示例,将持续更新…… 在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目...
spring-boot集成实例_mybatis,mail,mysql,mongodb,cassand_spring-boot-integration
- **Mapper扫描**:通过`@MapperScan`注解扫描Mapper接口,使Spring能够自动管理这些接口的实例。 4. **使用注解进行Mapper配置** Spring Boot Starter MyBatis支持使用注解来替代XML配置,可以在Mapper接口上...
本篇文章将深入探讨如何在Spring Boot项目中集成MyBatis,通过实例分析`spring-boot-examples-master.zip`中的代码,来展示这一整合过程以及相关知识点。 首先,我们来看标题中的`spring-boot-examples-master.zip`...
【标题】"spring-boot-python-demo" 是一个项目实例,它结合了Spring Boot和Python技术,展示了如何在Java环境中集成Python代码。Spring Boot是Spring框架的一个轻量级版本,旨在简化微服务开发,而Python则是一种...
**Spring Boot 实例分析** `spring-boot-demo` 示例项目可能包含了以下内容: 1. **主程序**:`src/main/java/com/example/DemoApplication.java`,这是一个简单的 Spring Boot 应用启动类,包含 `@SpringBoot...
在本项目"Spring-Boot-Mybatis实例"中,我们将探讨如何将流行的Java框架Spring Boot与数据持久层框架Mybatis整合,以便构建高效、简洁的Web应用。该项目源自一篇名为"SpringBoot入门系列:第六篇 mybatis"的博客文章...
《Spring Boot整合Dubbo入门实例详解》 在现代企业级应用开发中,Spring Boot和Dubbo作为两个重要的技术组件,分别扮演着简化Spring应用初始化和构建,以及提供高性能、轻量级服务治理的角色。本教程将详细介绍如何...
"dbApi-spring-boot-starter-demo-master"是一个完整的实例项目,它展示了如何集成和使用dbApi-spring-boot-starter。主要包含以下几个部分: 1. 主配置:分析项目的主配置文件,了解如何配置数据库连接以及启动器...
在描述中提到的“一个注解搞定日志”,可能是指Spring Boot中的`@Log`或`@Slf4j`注解,这些注解可以自动导入必要的SLF4J依赖,并在类中创建一个预定义的Logger实例,这样就可以直接使用这个实例进行日志记录,大大...