Mryqu's Notes


  • 首页

  • 搜索
close

Cisco AnyConnect Secure Mobility Client的VPN profile位置

时间: 2015-10-31   |   分类: Tool     |   阅读: 9 字 ~1分钟
在其安装路径C:\Program Files\Cisco\Cisco AnyConnect Secure MobilityClient搜寻未果。 全盘搜索后,发现在这个位置:C:\ProgramData\Cisco\Cisco AnyConnect Secure MobilityClient\Profile

[Eclipse] 遭遇Unable to install breakpoint due to missing line number attribute

时间: 2015-10-30   |   分类: Tool   Eclipse     |   阅读: 31 字 ~1分钟
今天遇到了“Unable to install breakpoint due to missing line numberattribute. Modify compiler options to generate line numberattributes”问题。 检查Preferences -> Java -> Perference,“Add linenumber attributes to generated class files (used by thedebugger)“已经勾选了。 应该是SpringAOP产生的代码没有行数信息,但是我自己写的代码还是带行数信息的,因此虽然会弹出这些烦人的警告,所设断点还是其作用的。让它不再提示即可。

[Spring Boot] 使用多个Servlet

时间: 2015-10-28   |   分类: Service+JavaEE   Spring     |   阅读: 278 字 ~2分钟
当使用Spring boot的嵌入式servlet容器时,可以通过Springbean或扫描Servlet组件的方式注册Servlet、Filter和Servlet规范的所有监听器(例如HttpSessionListener)。 当urlMapping不是很复杂时,可以通过ServletRegistrationBean、FilterRegistrationBean和ServletListenerRegistrationBean获得完整控制。如果bean实现了ServletContextInitializer接口的话则可以直接注册。 当使用@ServletComponentScan扫描Servlet组件时,Servlet、过滤器和监听器可以是通过@WebServlet、@WebFilter和@WebListener自动注册 示例代码 Application.java package com.yqu.multiservlet; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.embedded.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.web.servlet.DispatcherServlet; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public ServletRegistrationBean dispatcherRegistration( DispatcherServlet dispatcherServlet) { ServletRegistrationBean registration = new ServletRegistrationBean(dispatcherServlet); registration.addUrlMappings("/hirest/*"); printStacks(); return registration; } @Bean public ServletRegistrationBean servletRegistrationBean() { printStacks(); return new ServletRegistrationBean( new SigninServlet(), "/signin"); } private void printStacks() { StackTraceElement[] elements = Thread.currentThread().getStackTrace(); System.
阅读全文 »

Spring 框架: @RestController vs @Controller

时间: 2015-10-23   |   分类: Service+JavaEE   Spring     |   阅读: 288 字 ~2分钟
今天扫了一眼RestController注解的实现,它是@Controller和@ResponseBody的合体。 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Controller @ResponseBody public @interface RestController { String value() default ""; } 至于@RestController与@Controller的所有区别,还不是完全明了。看了Srivatsan Sundararajan和Swapna Sagi的大作Spring Framework: @RestController vs @Controller,感觉豁然开朗。 Spring MVC框架和REST Spring基于MVC框架的注解简化了创建RESTful web服务流程。传统MVS控制器和RESTfulweb服务控制器关键区别在于HTTP响应体创建方式。传统MVC控制器依赖试图技术,而RESTfulweb服务控制器仅仅返回对象并将对象数据作为JSON/XML直接写到HTTP响应中。关于使用Spring框架创建RESTfulWEB服务的技术细节,点击这里。 图1: Spring MVC传统工作流 Spring MVC REST工作流 传统Spring MVC REST工作流步骤如下: 客户端以URI形式向web服务发送一个请求。The client sends a request to a webservice in URI form. 请求被DispatcherServlet拦截用于查找处理器映射(Handler Mappings)及类型。 在应用上下文文件中定义的处理器映射会告知DispatcherServlet用于基于请求查找控制器的策略。 Spring MVC支持三种类型的请求URI与控制器间的映射:注解、名称转换和显式映射。 请求由控制器处理后,响应返回给DispatcherServlet后分发给视图。 在图1中,注意在传统工作流中ModelAndView对象由控制器转发给客户端。在方法上使用@ResponseBody注解,Spring可让应用直接从控制器返回数据,不再查找视图。从第4版起,引入@RestController注解进一步简化处理流程。两种使用方式解释如下。 使用@ResponseBody注解 当对一个方法使用@ResponseBody注解后,Spring将返回值进行转换并自动写入Http响应中。控制器类的每个方法必须使用@ResponseBody进行注解。 图2: Spring 3.x MVC RESTful web服务工作流 幕后工作 Spring在幕后注册了一系列HttpMessageConverters。HTTPMessageConverter负责根据预先定义的MIME类型将请求体转换成特定类及将特定类转换成响应体。每次一个请求匹配上@ResponseBody,Spring遍历所有已注册的HTTPMessageConverter,查找到第一个匹配上给定MIME类型和类的HTTPMessageConverter用之进行实际转换。 代码示例 下面过一个使用@ResponseBody的简单示例。 创建名为Employee的Java POJO类。 package com.example.spring.model; import javax.
阅读全文 »

Gradle multi-project Builds on HelloSocialMedia

时间: 2015-10-22   |   分类: DataBuilder     |   阅读: 146 字 ~1分钟
尝试对我的HelloSocialMedia演示代码集合使用Gradle的多项目构建,项目结构如下: HelloSocialMedia/ build.gradle settings.gradle HelloYoutubeAnalytics/ build.gradle HelloGoogleAnalytics/ build.gradle HelloTwitter4J/ build.gradle HelloRestFB/ build.gradle settings.gradle rootProject.name = 'HelloSocialMedia' include "HelloYoutubeAnalytics" include "HelloGoogleAnalytics" include "HelloTwitter4J" include "HelloRestFB" project(":HelloYoutubeAnalytics").name = "HelloSocialMedia-YoutubeAnalytics" project(":HelloGoogleAnalytics").name = "HelloSocialMedia-GoogleAnalytics" project(":HelloTwitter4J").name = "HelloSocialMedia-Twitter4J" project(":HelloRestFB").name = "HelloSocialMedia-RestFB" build.gradle buildscript { repositories { mavenCentral() } } subprojects { apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' repositories { mavenCentral() } sourceCompatibility = 1.8 targetCompatibility = 1.8 } HelloYoutubeAnalytics/build.gradle jar { baseName = 'hello-youbube-analytics' version = '0.
阅读全文 »

Hello RestFB

时间: 2015-10-21   |   分类: DataBuilder     |   阅读: 676 字 ~4分钟
RestFB是一个简单灵活的Facebook图谱API和REST客户端Java库。本演示用它来获取一个Facebook主页下的帖子、评论及回复。 获取Facebook AccessToken 示例代码 package com.yqu.restfb; import java.util.List; import com.restfb.Connection; import com.restfb.DefaultFacebookClient; import com.restfb.FacebookClient; import com.restfb.Parameter; import com.restfb.Version; import com.restfb.types.Comment; import com.restfb.types.Page; import com.restfb.types.Post; public class HelloRestFB { public static void main(String[] args) { FacebookClient facebookClient = new DefaultFacebookClient( MY_ACCESS_TOKEN, Version.VERSION_2_5); Page pageInfo = (Page) facebookClient.fetchObject("YquTest", Page.class, new Parameter[0]); Connection postConnection = facebookClient.fetchConnection( pageInfo.getId() + "/feed", Post.class, new Parameter[] { Parameter.with("limit", 10), Parameter.with("include_hidden", "true") }); if (postConnection.getData().size() <= 0) { System.
阅读全文 »

Twitter网站的高级搜索和过滤功能

时间: 2015-10-20   |   分类: DataBuilder     |   阅读: 41 字 ~1分钟
刚接触Twitter的搜索功能,以为仅能用关键字搜索推文。后来才知道,Twitter搜索不仅支持关键字的与或非逻辑处理,还能根据日期、地理位置、推文是否有链接、图像、视频、转推、回复等条件进行过滤。例如: 即包含"andrew"又包含"2015"的推文 https://twitter.com/search?q=andrew 2015&src=typd 完全匹配"andrew 2015"的推文 https://twitter.com/search?q="andew 2015"&src=typd 包含"andrew"或"2015"的中文推文 https://twitter.com/search?q=andew OR 2015 lang:zh&src=typd 包含"andrew"的推文(包括转推)https://twitter.com/search?q=andrew include:retweets&src=typd 包含"andrew"的推文(不包括转推)https://twitter.com/search?q=andrew exclude:retweets&src=typd 包含"andrew"且有URL链接的推文 https://twitter.com/search?q=andrew filter:links&src=typd 包含"andrew"且没有URL链接的推文 https://twitter.com/search?q=andrew -filter:links&src=typd 参考 Twitter Advanced Search Using Twitter Advanced Search How to Master Twitter Search: Basic Boolean Operators and Filters

Hello Twitter4J

时间: 2015-10-19   |   分类: DataBuilder     |   阅读: 222 字 ~2分钟
Twitter4J是Twitter API的第三方Java库。本演示用它通过关键字搜索推文。 获取Twitter应用证书 示例代码 package com.yqu.twitter4j; import twitter4j.Query; import twitter4j.QueryResult; import twitter4j.Status; import twitter4j.Twitter; import twitter4j.TwitterFactory; public class HelloTwitter4J { // I18NOK:CLS public static void main(String[] args) { try { // The factory instance is re-useable and thread safe. Twitter twitter = TwitterFactory.getSingleton(); Query query = new Query("夏洛特烦恼"); query.setLang("zh"); query.setCount(10); QueryResult result = twitter.search(query); for (Status status : result.getTweets()) { System.out.println(status.getCreatedAt()+":"+status.getText()); } } catch (Exception e) { e.printStackTrace(); } } } twitter.
阅读全文 »

[Gradle] 创建含有依赖库的jar文件

时间: 2015-10-18   |   分类: Tool   Gradle     |   阅读: 91 字 ~1分钟
想把自己的Gradle项目打成jar文件,但是’gradle build jar’生成的jar文件不含依赖库。 按照Gradle – Create a Jar file with dependencies改写了自己的build.gradle,成功包含了依赖库。但是依赖库不再是原来的jar文件,而是以目录的形式存在。 我的build.gradle buildscript { repositories { mavenCentral() } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' jar { baseName = 'HelloTwitter4J' version = '0.1.0' } task fatJar(type: Jar) { baseName = 'HelloTwitter4J-all' version = '0.1.0' manifest { attributes "Main-Class": "com.yqu.cdfwebtool.twitter.TwitterRateInfo" } from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } with jar } repositories { mavenCentral() } sourceCompatibility = 1.
阅读全文 »

Hello Youtube Analytics

时间: 2015-10-17   |   分类: DataBuilder     |   阅读: 576 字 ~3分钟
Google Credential设置见我之前的博文解决 “Access Not Configured. The API (YouTube Analytics API) is not enabled for your project.”。 示例代码: package com.yqu.yt; import java.io.IOException; import java.io.PrintStream; import java.math.BigDecimal; import java.util.List; import com.google.api.client.auth.oauth2.Credential; import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; import com.google.api.client.http.HttpTransport; import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.client.json.JsonFactory; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.youtube.YouTube; import com.google.api.services.youtube.model.Channel; import com.google.api.services.youtube.model.ChannelListResponse; import com.google.api.services.youtubeAnalytics.YouTubeAnalytics; import com.google.api.services.youtubeAnalytics.model.ResultTable; import com.google.api.services.youtubeAnalytics.model.ResultTable.ColumnHeaders; import com.google.common.collect.Lists; public class HelloYoutubeAnalytics { //I18NOK:CLS private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport(); private static final JsonFactory JSON_FACTORY = new JacksonFactory(); private static YouTube youtube; private static YouTubeAnalytics analytics; public static void main(String[] args) { // These scopes are required to access information about the // authenticated user's YouTube channel as well as Analytics // data for that channel.
阅读全文 »
16 17 18 19 20 21 22 23 24

Programmer & Architect

662 日志
27 分类
1472 标签
RSS 订阅
GitHub Twitter FB Page
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%