微网站用什么做中职教材 网站建设

diannao/2026/1/20 5:39:35/文章来源:
微网站用什么做,中职教材 网站建设,中国建设网站红黑榜名单,网站开发 用户角色除了许多新功能#xff0c;Spring Boot 1.2还带来了Jersey支持。 这是吸引喜欢标准方法的开发人员的重要一步#xff0c;因为他们现在可以使用JAX-RS规范构建RESTful API#xff0c;并将其轻松部署到Tomcat或任何其他Springs Boot支持的容器中。 带有Spring平台的Jersey可以… 除了许多新功能Spring Boot 1.2还带来了Jersey支持。 这是吸引喜欢标准方法的开发人员的重要一步因为他们现在可以使用JAX-RS规范构建RESTful API并将其轻松部署到Tomcat或任何其他Springs Boot支持的容器中。 带有Spring平台的Jersey可以在mico服务的开发中发挥重要作用。 在本文中我将演示如何使用Spring Boot包括Spring DataSpring TestSpring Security和Jersey快速构建应用程序。 引导一个新项目 该应用程序是常规的Spring Boot应用程序它使用Gradle及其最新的2.2版本。 Gradle不如Maven冗长它特别适合Spring Boot应用程序。 可以从Gradle网站下载Gradle http : //www.gradle.org/downloads 。 启动项目的初始依赖项 dependencies {compile(org.springframework.boot:spring-boot-starter-web)compile(org.springframework.boot:spring-boot-starter-jersey)compile(org.springframework.boot:spring-boot-starter-data-jpa)// HSQLDB for embedded database supportcompile(org.hsqldb:hsqldb)// Utilitiescompile(com.google.guava:guava:18.0)// AssertJtestCompile(org.assertj:assertj-core:1.7.0)testCompile(org.springframework.boot:spring-boot-starter-test) } 应用程序入口点是一个包含main方法的类并使用SpringBootApplication注释进行注释 SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);} } SpringBootApplication注释是一个便捷注释等效于声明Configuration EnableAutoConfiguration ComponentScan EnableAutoConfiguration和ComponentScan 它是Spring Boot 1.2的新增功能。 球衣配置 入门就像创建用Path和Spring的Component注释的根资源一样容易 Component Path(/health) public class HealthController {GETProduces(application/json)public Health health() {return new Health(Jersey: Up and Running!);} } 并将其注册在从Jersey ResourceConfig扩展的Spring的Configuration类中 Configuration public class JerseyConfig extends ResourceConfig {public JerseyConfig() {register(HealthController.class);} } 我们可以使用gradlew bootRun启动该应用程序访问 http// localhost8080 / health 我们应该看到以下结果 {status: Jersey: Up and Running! } 但是也可以编写一个具有完全加载的应用程序上下文的Spring Boot集成测试 RunWith(SpringJUnit4ClassRunner.class) SpringApplicationConfiguration(classes Application.class) WebAppConfiguration IntegrationTest(server.port9000) public class HealthControllerIntegrationTest {private RestTemplate restTemplate new TestRestTemplate();Testpublic void health() {ResponseEntityHealth entity restTemplate.getForEntity(http://localhost:9000/health, Health.class);assertThat(entity.getStatusCode().is2xxSuccessful()).isTrue();assertThat(entity.getBody().getStatus()).isEqualTo(Jersey: Up and Running!);} } Jersey 2.x具有本机Spring支持 jersey-spring3 Spring Boot通过spring-boot-starter-jersey起动器为其提供了自动配置支持。 有关更多详细信息请查看JerseyAutoConfiguration类。 根据spring.jersey.type属性值Jersey Servlet或Filter都注册为Spring Bean Mapping servlet: jerseyServlet to [/*] 可以通过添加到ResourceConfig配置类的javax.ws.rs.ApplicationPath批注来更改默认映射路径 Configuration ApplicationPath(/jersey) public class JerseyConfig extends ResourceConfig {} JSON媒体类型支持随附有jersey-media-json-jackson依赖项该依赖项注册了可供Jersey使用的Jackson JSON提供程序。 Spring Data JPA集成 Spring Data JPA是较大的Spring Data系列的一部分可轻松实现基于JPA的存储库。 对于那些不熟悉该项目的人请访问 http : //projects.spring.io/spring-data-jpa/ 客户和客户存储库 此示例项目的域模型只是具有一些基本字段的Customer Entity public class Customer extends AbstractEntity {private String firstname, lastname;Columnprivate EmailAddress emailAddress; Customer需要一个Repository 因此我们使用Spring的Data仓库创建了一个基本的仓库。 通过简单的接口定义Spring Data存储库减少了许多样板代码 public interface CustomerRepository extends PagingAndSortingRepositoryCustomer, Long {} 使用域模型后可以方便地使用一些测试数据。 最简单的方法是为data.sql文件提供要在应用程序启动时执行的SQL脚本。 该文件位于src/main/resources Spring会自动将其拾取。 该脚本包含几个SQL插入内容以填写customer表。 例如 insert into customer (id, email, firstname, lastname) values (1, joedoe.com, Joe, Doe);客户总监 在使用Spring Data JPA存储库之后我创建了一个控制器以JAX-RS –资源表示该控制器允许对Customer对象进行CRUD操作。 注意我坚持使用HTTP端点的Spring MVC命名约定但可以随意使用JAX-RS方式。 获得客户 让我们从返回所有客户的方法开始 Component Path(/customer) Produces(MediaType.APPLICATION_JSON) public class CustomerController {Autowiredprivate CustomerRepository customerRepository;GETpublic IterableCustomer findAll() {return customerRepository.findAll();} } 使用Component保证CustomerController是一个Spring托管对象。 Autowired可以轻松替换为标准javax.inject.Inject注释。 由于我们在项目中使用Spring Data因此我可以轻松利用PagingAndSortingRepository.提供的PagingAndSortingRepository. 我修改了资源方法以支持某些页面请求参数 GET public PageCustomer findAll(QueryParam(page) DefaultValue(0) int page,QueryParam(size) DefaultValue(20) int size,QueryParam(sort) DefaultValue(lastname) ListString sort,QueryParam(direction) DefaultValue(asc) String direction) {return customerRepository.findAll(new PageRequest(page, size, Sort.Direction.fromString(direction), sort.toArray(new String[0]))); } 为了验证以上代码我创建了Spring集成测试。 在第一次测试中我将要求所有记录并且根据先前准备的测试数据我希望在20页的1页中总共有3个客户 Test public void returnsAllPages() {// actResponseEntityPageCustomer responseEntity getCustomers(http://localhost:9000/customer);PageCustomer customerPage responseEntity.getBody();// assertPageAssertion.assertThat(customerPage).hasTotalElements(3).hasTotalPages(1).hasPageSize(20).hasPageNumber(0).hasContentSize(3); } 在第二个测试中我将调用大小为1的第0页并按firstname排序排序方向descending 。 我希望元素总数不变3返回的页面总数为3返回的页面内容大小为1 Test public void returnsCustomPage() {// actResponseEntityPageCustomer responseEntity getCustomers(http://localhost:9000/customer?page0size1sortfirstnamedirectiondesc);// assertPageCustomer customerPage responseEntity.getBody();PageAssertion.assertThat(customerPage).hasTotalElements(3).hasTotalPages(3).hasPageSize(1).hasPageNumber(0).hasContentSize(1); } 该代码也可以使用curl检查 $ curl -i http://localhost:8080/customerHTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: application/json;charsetUTF-8 Content-Length: 702 Date: Sat, 03 Jan 2015 14:27:01 GMT{...} 请注意为了轻松测试RestTemplate的分页我创建了一些帮助程序类 Page Sort和PageAssertion 。 您可以在Github中的应用程序源代码中找到它们。 添加新客户 在这个简短的代码片段中我使用了Jersey的某些功能如注入Context 。 在创建新实体的情况下我们通常要返回标题中资源的链接。 在下面的示例中我将UriBuilder注入到终结点类中并使用它来构建新创建的客户的位置URI Context private UriInfo uriInfo;POST public Response save(Customer customer) {customer customerRepository.save(customer);URI location uriInfo.getAbsolutePathBuilder().path({id}).resolveTemplate(id, customer.getId()).build();return Response.created(location).build(); } 在调用POST方法不存在电子邮件时 $ curl -i -X POST -H Content-Type:application/json -d {firstname:Rafal,lastname:Borowiec,emailAddress:{value: rafal.borowiecsomewhere.com}} http://localhost:8080/customer 我们将得到 HTTP/1.1 201 Created Server: Apache-Coyote/1.1 Location: http://localhost:8080/customer/4 Content-Length: 0 Date: Sun, 21 Dec 2014 22:49:30 GMT 当然也可以创建集成测试。 它使用RestTemplate使用postForLocation方法保存客户然后使用getForEntity检索它 Test public void savesCustomer() {// actURI uri restTemplate.postForLocation(http://localhost:9000/customer,new Customer(John, Doe));// assertResponseEntityCustomer responseEntity restTemplate.getForEntity(uri, Customer.class);Customer customer responseEntity.getBody();assertThat(customer.getFirstname()).isEqualTo(John);assertThat(customer.getLastname()).isEqualTo(Doe); } 其他方法 端点的其余方法确实很容易实现 GET Path({id}) public Customer findOne(PathParam(id) Long id) {return customerRepository.findOne(id); }DELETE Path({id}) public Response delete(PathParam(id) Long id) {customerRepository.delete(id);return Response.accepted().build(); }安全 通过向项目添加新的依赖关系可以快速地将Spring Security添加到应用程序中 compile(org.springframework.boot:spring-boot-starter-security) 使用Spring Security在classpath中应用程序将通过所有HTTP端点上的基本身份验证得到保护。 可以使用以下两个应用程序设置 src/main/resources/application.properties 更改默认的用户名和密码 security.user.namedemo security.user.password123 在使用Spring Security应用程序运行该应用程序之后我们需要为每个请求提供一个有效的身份验证参数。 使用curl我们可以使用--user开关 $ curl -i --user demo:123 -X GET http://localhost:8080/customer/1 随着Spring Security的添加我们先前创建的测试将失败因此我们需要为RestTemplate提供用户名和密码参数 private RestTemplate restTemplate new TestRestTemplate(demo, 123);分派器Servlet Spring的Dispatcher Servlet与Jersey Servlet一起注册并且它们都映射到根资源 。 我扩展了HealthController 并向其中添加了Spring MVC请求映射 Component RestController // Spring MVC Path(/health) public class HealthController {GETProduces({application/json})public Health jersey() {return new Health(Jersey: Up and Running!);}RequestMapping(value /spring-health, produces application/json)public Health springMvc() {return new Health(Spring MVC: Up and Running!);} } 通过上面的代码我希望根上下文中可以同时使用health和spring-health端点但显然不起作用。 我尝试了几种配置选项包括设置spring.jersey.filter.order但没有成功。 我发现的唯一解决方案是更改Jersey ApplicationPath或更改Spring MVC server.servlet-path属性 server.servlet-path/s 在后一个示例中调用 $ curl -i --user demo:123 -X GET http://localhost:8080/s/spring-health 返回预期结果 {status:Spring MVC: Up and Running! }使用Undertow代替Tomcat 从Spring Boot 1.2开始支持Undertow轻量级高性能Servlet 3.1容器。 为了使用Undertow代替Tomcat必须将Tomcat依赖项与Undertow的依赖项交换 buildscript {configurations {compile.exclude module: spring-boot-starter-tomcat} } dependencies {compile(org.springframework.boot:spring-boot-starter-undertow:1.2.0.RELEASE) } 运行该应用程序时日志将包含 org.xnio: XNIO version 3.3.0.Final org.xnio.nio: XNIO NIO Implementation Version 3.3.0.Final Started Application in 4.857 seconds (JVM running for 5.245)摘要 在这篇博客文章中我演示了一个简单的示例说明如何开始使用Spring Boot和Jersey。 由于Jersey的自动配置向Spring应用程序添加JAX-RS支持非常容易。 通常Spring Boot 1.2使使用Java EE的应用程序构建更加容易使用Atomikos或Bitronix嵌入式事务管理器进行JTA事务在JEE Application Server中对DataSource和JMS ConnectionFactory进行JNDI查找并简化JMS配置。 资源资源 项目源代码 https : //github.com/kolorobot/spring-boot-jersey-demo 后续 使用JAX-RS和Spring构建HATEOAS API 翻译自: https://www.javacodegeeks.com/2015/01/getting-started-with-jersey-and-spring-boot.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

购物网站开发案例下载温州seo代运营

1.在创建项目中选择动态链接库,如果没有可以从右侧搜索,如果还没有重新安装安装包点击修复增加相应功能 2.点击下一步,可以修改项目名称和目录位置点击创建完成项目创建 3.在新建项目内添加新的头文件(.h),…

简历网站有哪些网页视频怎么下载不了

前言 PHP本身并不直接支持多线程编程,因为PHP的设计初衷是作为一个脚本语言,主要面向的是Web开发。不过我们可以使用一些扩展和库来实现多线程的功能,比如workerman和swoole。通过多线程异步执行任务,可以大大提高代码的执行效率。…

建设高端网站公司哪家好郑州知名做网站

目录 一、list 1.1list的定义和结构 以下是一个示例,展示如何使用list容器: 1.2list的常用函数 1.3list代码示例 二、stack 2.1stack的定义和结构 stack的常用定义 2.2常用函数 2.3stack代码示例 一、list 1.1list的定义和结构 list的使用频率不高&#…

美橙建站五站合一软件网络营销公司赚钱吗

课程链接 目录 相关介绍什么是ECMA什么是ECMAScript为什么学习ES6 letconst变量解构赋值模板字符串对象简化写法箭头函数函数参数的默认值rest参数扩展运算符Symbol迭代器生成器函数与调用Promise介绍与基本用法Promise封装读取文件Promise.prototype...then方法Promise.catch…

效果图设计师有前景吗谷歌seo关键词优化

概览 云在远方,管理在您手中。在这个移动为先 云为先的世界,服务不再是基于请求才提供,而是主动来到身边方便您的模式了。我们最近将会陆续推出几大移动端利器帮助您随时随地管理您的云服务。 首批利器之中排名第一当属Azure云助手应用, 它是…

做公司网站,哪个程序用的多怎么做网站聊天视频直播

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone)在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格…

网站代做多少钱免费的wordpress主机

答:1、进入控制面板,选择“卸载或更改程序”。 2、选中“AutoCAD2006”图标。 3、右击选择“更改”。 4、进入“AutoCAD2006安装程序对话框”,选择“添加/删除功能”单选按钮,点击下一步。 5、在“程序文件”列表中,选…

各网站提交入口温州比较好的设计公司

人工智能技术的进步,在不断的革新我们的工作和生活,同时,拥有人工智能技术的语音智能客服机器人在销售行业的工作熟悉程度也越来越好,那语音智能客服机器人有什么优势?我们一起来看看。 1、ASR语音文本转换 客户可通过…

.net网站吃内存wordpress关联微信

今天因工作需要写了个小程序,用于在图片集中自动抽取需要的照片。该程序只是实现了基本功能,还有很多需要完善的地方,展示出来算是给自己鼓鼓气吧。该程序应用有一定特殊条件,因我选择的图片集是工业生产过程中自动拍摄生成的&…

旅游类网站建设的结论网站正在建设中 英语

1先找一套相同cpu的虚拟机下载rpm 2 如果新的虚拟机没有yum源就替换 修改yum源-CSDN博客 1.2使用wget下载yum源配置文件 (1)备份本地yum源配置文件 备份命令: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak(2)下载yum源配置文…

注册域名哪个网站好怎么在百度做原创视频网站

关注小夕并星标,解锁自然语言处理搜索、推荐与算法岗求职秘籍文 | 苏剑林(追一科技,人称苏神)美 | 人美心细小谨思密达前言这篇文章简单介绍一个叫做AdaX的优化器,来自《AdaX: Adaptive Gradient Descent with Exponen…

淘客网站 wordpresserp系统的优点

2月21日,全球多媒体巨头Adobe在官网宣布,推出生成式AI助手AI Assistant,并将其集成在Reader 和Acrobat 两款PDF阅读器中。 据悉,AI Assistant的功能与ChatGPT相似,可以基于PDF文档提供摘要、核心见解、基于文档内容&a…

网站建设的难点南宁比较有好的网站制作公司

用Dos的copy命令实现: copy a.jsb.jsc.js abc.js /b 将 a.js b.js c.js 合并为一个 abc.js,最后的 /b 表示文件为二进位文件,copy 命令的其它参数可以在 cmd 里输入 copy /? 学习 举例:如果想要合并多个js文件到某个目录下&#…

站长工具seo优化IT科技资讯新闻类织梦网站模板

为什么要在Redis存数据 Redis 用来实现应用和数据库之间读操作的缓存层,主要目的是减少数据 库 IO,还可以提升数据的 IO 性能。 因为Redis基于内存, 查询效率比MySQL快很多, 所以有限查询Redis中的数据,如果Redis没有就查询数据库然后同步到Redis 出…

汕头建立网页公司淘宝客seo推广教程

题意 题目链接 Sol 直接在线段树上二分 当左右儿子中的一个不是\(x\)的倍数就继续递归 由于最多递归到一个叶子节点,所以复杂度是对的 开始时在纠结如果一段区间全是\(x\)的两倍是不是需要特判,实际上是不需要的。 可以这么想,如果能成功的话…

做微信小程序是不是不用做网站网站文章优化怎么做

美赛思路已更新,关注后可以获取更多思路。并且领取资料 C题思路 首先,我们要理解势头是什么。简单来说,势头是一方在比赛中因一系列事件而获得的动力或优势。在网球中,这可能意味着连续赢得几个球,或是在比赛的某个关…

软件网站技术开发公司标准网站建设费用

JAVA中Object类的toString()方法,objecttostringtoStringpublic String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。Objec…

网站开发图片存哪里互联网保险销售

参考:https://www.runoob.com/w3cnote/c-assert.html 目录作用总结与注意事项Demo作用 assert 是个宏,并且作用并非"报错"。 assert() 的用法像是一种"契约式编程",程序满足我的假设条件,才能正常良好的运作…

PHP网站开发简单实例施工企业资质类别

下面的代码,照着复制就能跑起来 今天看了下Spring的Configuration,即java类配置bean,(这个spring3的新功能,虽然现在已经spring5了,但是这种配置bean的方式也是比较火的) 做了如下测试,发现一个…

杭州网站建设公司联系方式it外包公司联系电话

首先解释一下什么是Session,如果你不知道的话。当一个访问者来到你的网站的时候一个Session就开始了,当他离开的时候Session 就结束了。本质是来说,cookie是和浏览器有关系,而Session变量就可以存一些资源变量在服务器上面。PHP4用文件存储Session变量, 但理论上可以用数据库或…