如何用IDEA创建SpringBoot项目

一、创建一个 Spring  Initializr 工程

next后选择2.7.8版本,勾选以下几个

  • Web里的spring boot
  • Template Engines 里的 Thymeleaf
  • SQL里的MyBatis Framework 和 Mysql Driver

然后finish完成 

 二、配置resources文件

2.1、 application.properties:

#??????
spring.datasource.name=exam
#??????
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://192.168.91.130:3306/exam

mybatis.mapper-locations=classpath:/mappers/*.xml

2.2、创建mappers目录,映射dao层接口 (这个步骤要放在dao层对象接口完成后)

三、创建controller,dao,pojo,service文件夹 

3.1、SpringbootstuApplication

注意:SpringbootstuApplication.java要和上面几个文件夹在一个目录上,不然运行会报错

SpringbootstuApplication.java 代码:

 3.2、pojo层:根据数据库内表的名称以及表的内容 创建pojo目录class文件

图:数据库student表

  图:pojo层student 对象 (无参,有参构造,get,set方法,tostring 需要添加)

3.3、创建dao层,实现客户需要(增删改查)

 3.4、service层调用dao层,实现业务逻辑

先简单来讲下Dao层,和Service层的概念:

Service是业务层,Dao是数据访问层,这样的分层是基于MVC架构来说的。

Dao层:全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查

Service层:被称为服务,肯定是相比之下比较高层次的一层结构,相当于将几种操作封装起来。

具体起来,Dao的作用是封装对数据库的访问:增删改查,不涉及业务逻辑,只是达到按某个条件获得指定数据的要求;
而Service,则是专注业务逻辑,对于其中需要的数据库操作,都通过Dao去实现。

简单来说就是Dao层是底层,具体到某一张表的增删查改,可以理解为有多少张表就有多少个Dao层,而Service成可以理解为是Dao层的 “上司”,通过Service层来控制Dao层。

一个Service层控制一个或者多个Dao层。

通过Service层去调用Dao层,不仅可以解耦合,而且可以增加代码的拓展性。

图:service层接口方法(来自于dao层)

  图:通过new dao层接口,创建对象,来实现接管dao层

@Autowired可以标注在属性上、方法上和构造器上,来完成自动装配

它可以标注在属性上、方法上和构造器上,那有什么区别吗?简单来说因为类成员的初始化顺序不同,静态成员 ——> 变量初始化为默认值——>构造器——>为变量赋值。如果标注在属性上,则在构造器中就不能使用这个属性(对象)的属性和方法。

当标注的属性是接口时,其实注入的是这个接口的实现类, 如果这个接口有多个实现类,只使用@Autowired就会报错,因为它默认是根据类型找,然后就会找到多个实现类bean,所有就不知道要注入哪个。然后它就会根据属性名去找。所以如果有多个实现类可以配合@Qualifier(value=“类名”)来使用

 3.5、controller控制层,通过new Service层接口对象,调用方法,实现web界面增删改查

RequestMapping注解有六个属性,下面我们把她分成三类进行说明。
  1、 value, method;

               value: 指定请求的实际地址,指定的地址可以是URI Template 模式;
    method: 指定请求的method类型, GET、POST、PUT、DELETE等;
  2、 consumes,produces;
    consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
    produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
  3、 params,headers;
    params: 指定request中必须包含某些参数值是,才让该方法处理。
    headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。

 @ResponseBody//将方法返回的对象转换成JSON字符串

 六、使用SpringbootstuApplication运行

//http://localhost:8080/exam/allstu

//http://localhost:8080/exam/loadcla

// http://localhost:8080/exam/addstu?name=zhh&age=21&gender=1&telephone=12345532222&email=zhh@qq.com&classid=1

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值