SpringBoot 爬坑手记-1

此文仅是作者学习记录,非常不适合作为教程,若您想系统的学识SpringBoot框架,还建议前往各类mooc上学习。   


    起初,我计划起一个类似于Spring Boot学习之路的名字,可是这两天都在踩坑与爬坑之间挣扎。。。所以就顺手起了个爬坑手记。

    第一个问题,为什么会有微处理架构,而且渐渐成为主流趋势呢?

     许多项目被作为一个单体进行打包部署,例如:许多 Java 应用程序被打包成 WAR 文件部署在如 Tomcat 或者 Jetty 之类的应用服务器上。

    然而,随着时间的推移,项目会变得越来越臃肿。这给更新,维护造成了极大的困扰。

    微服务架构的主要思路是将应用程序分解为一套较小的互连服务。一些微服务会暴露一个供其他微服务或应用客户端消费的 API。例如,后端服务会提供一套简单的REST API。

    目前我的对于Spring Boot的理解就是,它帮助我们对项目进行配置,在第一次使用它时,我就感到了它的便捷。

第一个SpringBoot程序:

    接下来我们要创建一个项目,实现与数据库的简单交互:

1 使用IDEA创建项目:

 

    选择:web中的web,以及SQL中的Mysql和JDBC


2:编辑配置文件

我们使用.yml类型的文件进行配置,在resource文件夹新建application.yml文件,写入配置:(注意port: 后要接一个空格)

  

server:
 port: 8080

3:Hello Spring

在src->java->(自定义的包名)中新建HelloController.java文件

@RestController
public class HelloController{
 @RequestMapping(value = "/hello",method = RequestMethod.Get)
 public String Hello(){
return "Hello Spring"
}
}

接下来打开浏览器,地址栏输入localHost:8080,就会出现“Hello Spring"

4:数据库交互

首先编辑配置文件,为了方便日后的管理,可以选择将配置文件写入单独的文件中。新建application-dev.yml,写入

server:
 port: 8080

将application.yml文件改写成:

spring:
 profiles:
  active: dev

这样即可引入application-dev.yml中的配置。我们会发现,active后跟另一配置文件中的后缀(dev)。

接下来配置数据源:

在application.yml中加入:

spring:
 datasource:
  username: root
  passward: XXX
  url: jdbc:mysql://localhost:3306/db_name
  driver_class_name: com.mysql.jdbc.Driver

在这里时我猜到了第一个坑,我的mysql只能通过localhost访问,不能通过ip访问,通过授权的方式也不行,在我找了很久,终于找到了他的配置文件,,在/etc/mysql/mysql.conf.d/mysqld.cnf中终于找到了有关地址绑定的配置,将其注释掉,才实现了通过ip链接数据库。

接下来配置jpa:

首先什么是jpa呢:

JPA全称Java Persistence API,是一组用于将数据存入数据库的类和方法的集合。JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

通过spring boot jpa 我们可以非常便捷的进行数据库操作。在application中加入:

 jpa:
  hibernate:
   ddl-auto: create
  show-sql: true
 

hibernate是一个jpa产品,它可以自动的生成sql语句。

接下来在包中添加Girl.java,在这个类中,我们将定义数据库中的一张表

@Entity
public class Girl{
@Id
@GeneratedValue
private Integer id;
private String cupSize;
@colum(name = "girlage")
private Integer age; }
jpa定义了一种定义,可以将常规的普通Java对象(有时被称作POJO)映射到数据库。

这些普通Java对象被称作Entity Bean。@Entity说明这个class是实体类,并且使用默认的orm规则,即class名即数据库表中表名,class字段名即表中的字段名。如果想改变这种默认的orm规则,就要使用@Table来改变class名与数据库中表名的映射规则,@Column来改变class中字段名与db中表的字段名的映射规则

运行,我们可以在控制台中看到如下输出:


在向刚刚建立的表中插入一条数据后,可以看到,


对数据库进行查询:

我们需要一个继承JpaRepository的借口,在JpaRepository接口及其父类中,定义了一系列对数据库进行增删改查的函数。我们也可以自定义函数。

在包中新建GirResponsitory借口,继承JpaRepository:

public interface GirlResponsitory extends jpaRepository<Girl,Integer>{
public Girl findById(Integer id);
}

注意函数名的格式。

再定义Controller对请求进行相应(通过调用GirlResponsitory中的函数)

在包中新建GirlController.java:


@RestController
public class GirlController{
@AutoWired
 private GirlResponsitory girlResponsitory;
@GetMapping(value = "/girls/{id}")
public Girl findOne(@PathVariable("id") Integer id){
return girlResponsitory.findOneById(id);
    }
}                                                                      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值