ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:23.46KB ,
资源ID:15339164      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-15339164.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Spring boot基础文档.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Spring boot基础文档.docx

1、Spring boot基础文档在IDEA环境下创建一个Spring boot程序一、点击New Project后,选择Spring Initializr。如下图所示,此时,如果右侧你的JDK自动出现了,那可以省很多事。如果没有自动出现,则需要你点击New,去选择你JAVA的安装目录。(为什么需要这样?因为Spring的运行需要JAVA,所以IDE需要知道你的JAVA安装目录。)二、进入下一步后,会让你设置一下你工程的名字等基本信息。三、然后这个界面比较重要,它的作用是在开始的时候,自动下载一些jar包。你勾选一个,他就会自动下载。请按照需求勾选。四、填写工程名五、OK,现在Intellij就自

2、动为我们创建好一个Springboot的程序了哦如下图所示:Spring boot写一个Hello world现在开始写第一个Hello World看下图:上图中的com.example是一个包名,为了代码可读性高,我们会使用MVC的开发模式,在com.example这个包下面,再新建几个包,分别用来写不同的代码。需要新建的包如下:1. controller包:用来写控制器代码,控制器对应不同的请求,是网络请求的第一层。2. model包:里面每个class可以对应一个数据表,当你写好class,并且运行工程时,Springboot和Hibernate会自动为你在数据库里创建表。3. repo

3、sitory包:这里封装了所有对数据表的增删改查操作。以后你需要操作数据库,其实就是使用这里的接口。4. service包:比如把登录、注册等一个完整的逻辑,封装为一个service,供controller调用,可以极大地简化开发,同时代码也具有更高的可读性。下面,让我们来建立这四个包吧在com.example这个包上右键,然后new一个包出来。如图所示:我这里创建好包名后,目录结构是这样的:好了,到这一步,我们终于可以开始写代码啦在本文里,我们将不会用到service、model、repository,只会用到controller来写一个简单的Hello World。让我们开始写吧:首先,在

4、controller这个包上点击右键,新建一个class,名字就叫nana,如下图所示:建立好文件后,我们在这个文件里输入以下的代码:【注意,如果没有严格按照前面的教程来,你的包名可能和我的不一样,所以这个代码复制过去后,请自己检查一遍!】package;import;import;import;import;/*Createdbylongge93on16/4/14.*/RestControllerEnableAutoConfigurationpublicclassnanaRequestMapping(value=/,method=RequestMethod.GET)publicStringi

5、ndex()returnHelloWorld;然后我们来运行以下我们的工程,运行方法如下图所示:如上图所示,点击那个三角形,就可以运行我们的工程了。不过,所有写代码的过程都是不顺利的虽然我们点了运行,但是下面的控制台里却提示我们运行失败了,从上图的下面看出,是hibernate出错了。为什么呢?因为我们在Maven里包含了MySQL的jar包,但是却没有配置数据库连接需要的账号和密码等信息。所以hibernate会报错因为我们这篇文章里,只是为了输出hello world,用不着数据库。所以我们先去pom文件里注释掉数据库相关的jar包应该就OK了。我注释完后,我的pom文件是这样的,请仔细检

6、查:com.exampledemojardemoDemoprojectforSpringBootspring-boot-starter-parent1.8spring-boot-starter-aop!-!-!-spring-boot-starter-data-jpa-!-!-!-!-spring-boot-starter-jdbc-!-!-!-!-spring-boot-starter-redis-!-spring-sessionspring-boot-starter-thymeleafspring-boot-starter-web!-!-mysql-!-mysql-connector-ja

7、va-!-runtime-!-spring-boot-starter-testtestspring-boot-maven-plugin此时,依然报错:Cannot determine embedded database driver class for database type NONE解决办法:注释掉pom文件中jap和session,在完成以后,pom配置如下com.exampledemojardemoDemoprojectforSpringBootspring-boot-starter-parent 1.8 spring-boot-starter-aop spring-boot-sta

8、rter-web spring-boot-starter-test test spring-boot-starter-thymeleaf spring-boot-maven-plugin 然后我们再点击那个三角形运行,你会发现运行成功啦如下图所示:因为Springboot其实已经自带Tomcat了,所以当我们把这个工程跑起来后,其实就相当于跑起来一个网站。现在让我们去网页里看看我们的Hello World有没有正常工作吧在浏览器里,打开,你会发现输出了Hello World来源:/5cafb22d-351b-13b5-01e4-c260f480debf.htmlSpring boot在Spri

9、ng mvc下接入微信 在我们搭建好Spring boot环境后,可以很容易的使用Spring mvc,不需要复杂的配置,只需要做一些基本的注解就行了。这一章讲述如何在Spring mvc下去接入微信。一、接入微信需要一个公网IP,这里我们使用的是ngrock内网穿透工具。 运行-cmd,进入ngrock解压目录,输入命令ngrok -subdomainyxpeng-config=ngrok.cfg8080 其中yxpeng是可以自己配置的子域名,8080端口通常设置为你的项目运行的端口,因为我这边默认的是8080,所以我设置成了8080.二、与用servlet接入微信一样的,我们需要接受到微

10、信后台通过get请求传过来的几个参数。 首先,写了一个model,其中封装了这四个参数。package;/* * 微信接入校验信息model * Created by Administrator on 2016/11/8 0008. */public class CheckModel private String signature; private Long timestamp; private Long nonce; private String echostr; public String getSignature() return signature; public void setS

11、ignature(String signature) this.signature = signature; public Long getTimestamp() return timestamp; public void setTimestamp(Long timestamp) this.timestamp = timestamp; public Long getNonce() return nonce; public void setNonce(Long nonce) this.nonce = nonce; public String getEchostr() return echostr

12、; public void setEchostr(String echostr) this.echostr = echostr; 创建一个controller类,其中添加一个validate方法,用来接收这个model并进行处理package ;import ;import ;import ;import ;import ;import ;import ;import ;/* * Created by Administrator on 2016/11/9 0009. */RestControllerRequestMapping(/user)EnableAutoConfigurationpubl

13、ic class UserController Autowired private UserService userService; RequestMapping(/check/name) public ResponseBody String addUser(PathVariable(name) String name) User user = new User(); user.setUserName(name); user.setPassword(123); user.setRealName(喻学鹏); userService.saveUser(user); return user.getU

14、serName(); RequestMapping(/find/name) public ResponseBody String findUserByName(PathVariable(name) String name) User u = null; u = userService.findByUserName(name); if(u != null) return u.getRealName(); else return 未找到; 在tokenService中,分离出这四个参数,然后对token,timestamp和nonce这三个参数进行字典排序,然后进行SHA1加密,将密文与signa

15、ture对比,如果相同就返回echostr.package ;import ;import ;import ;import ;import ;/* * Created by Administrator on 2016/11/8 0008. */Servicepublic class TokenService /* * 微信接入数据验证 * param wxToken * param tokenModel * return */ Transactional public String validate(String wxToken, CheckModel tokenModel) String s

16、ignature = tokenModel.getSignature(); Long timestamp = tokenModel.getTimestamp(); Long nonce =tokenModel.getNonce(); String echostr = tokenModel.getEchostr(); if(signature!=null×tamp!=null&nonce!=null) String str = wxToken, timestamp+, nonce+; Arrays.sort(str); / 字典序排序 String bigStr = str0 + st

17、r1 + str2; / SHA1加密 String digest = EncoderHandler.encode(SHA1, bigStr).toLowerCase(); / 确认请求来至微信 if (digest.equals(signature) /最好此处将echostr存起来,以后每次校验消息来源都需要用到 return echostr; return error; 三、登录微信公众平台开发-基本配置填写好URL和token后,点击提交,微信后台就会想填写好的URL发送GET请求。如果校验无误,就会提示接入成功。JpaRepository来源:/2088265什么是Repositor

18、y?2.1 Repository(资源库):通过用来访问领域对象的一个类似集合的接口,在领域与数据映射层之间进行协调。这个叫法就类似于我们通常所说的DAO,在这里,我们就按照这一习惯把数据访问层叫RepositorySpring Data给我们提供几个Repository,基础的Repository提供了最基本的数据访问功能,其几个子接口则扩展了一些功能。它们的继承关系如下:Repository: 仅仅是一个标识,表明任何继承它的均为仓库接口类,方便Spring自动扫描识别CrudRepository: 继承Repository,实现了一组CRUD相关的方法PagingAndSortingRe

19、pository: 继承CrudRepository,实现了一组分页排序相关的方法JpaRepository: 继承PagingAndSortingRepository,实现一组JPA规范相关的方法JpaSpecificationExecutor: 比较特殊,不属于Repository体系,实现一组JPA Criteria查询相关的方法我们自己定义的XxxxRepository需要继承JpaRepository,这样我们的XxxxRepository接口就具备了通用的数据访问控制层的能力。2.2 JpaRepository 所提供的基本功能2.2.1 CrudRepository:这个接口提供

20、了最基本的对实体类的添删改查操作T save(T entity);/保存单个实体 Iterable save(Iterable entities);/保存集合 T findOne(ID id);/根据id查找实体 boolean exists(ID id);/根据id判断实体是否存在 Iterable findAll();/查询所有实体,不用或慎用! long count();/查询实体数量 void delete(ID id);/根据Id删除实体 void delete(T entity);/删除一个实体void delete(Iterable entities);/删除一个实体的集合 void deleteAll();/删除所有实体,不用或慎用!2.2.2 PagingAndSortingRepository这个接口提供了分页与排序功能Iterable findAll(Sort sort);/排序 Page findAll(Pageable pageable);/分页查询(含排序功能)2.2.3 JpaRepository这个接口提供了JPA的相关功能List findAll();/查找所有实体 List findAll(Sort sort);/排序 查找所有实体 List save(Iterable entities

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2