spring-boot 使用JavaConfig方式配置Dubbo
Spring Boot提倡以JavaConfig的方式进行配置,就是使用注释来描述Bean配置的组件,从而取代让许多开发者诟病已久的xml配置方式。Spring Boot官方也提供了很多相关的JavaConfig例子,例如数据库配置,消息队列配置等。本文将提供一个JavaConfig配置Dubbo的例子。 ...
Spring Boot提倡以JavaConfig的方式进行配置,就是使用注释来描述Bean配置的组件,从而取代让许多开发者诟病已久的xml配置方式。Spring Boot官方也提供了很多相关的JavaConfig例子,例如数据库配置,消息队列配置等。本文将提供一个JavaConfig配置Dubbo的例子。 ...
UML类图理解 依赖关系 1public class Person { 2 public void doSomething(){ 3 Card card = new Card();//局部变量 4 .... 5 } 6} 1public class Person { 2 public void doSomething(Card card){//方法参数 3 .... 4 } 5} 1public class Person { 2 public void doSomething(){ 3 int id = Card.getId();//静态方法调用 4 ... 5 } 6} 关联关系 1public class Person { 2 public Phone phone; 3 4 public void setPhone(Phone phone){ 5 this.phone = phone; 6 } 7 8 public Phone getPhone(){ 9 return phone; 10 } 11} 聚合关系 ...
有时我们在写spring配置文件的时候,会出现idea无法识别schema,导致报错。虽然说不影响执行,但看着那红色的波浪线确实有一点不爽,寻思着能不能忽略这个错误。最开始的想法是像忽略代码语法校验那样,在Inspections中去掉相关的校验,但发现Inspections中没有schema,xsd等相关的配置,直到发现了如下的方法。 ...
ProGuard能够作为maven的插件使用,让我们在原来的项目结构中,能够方便的实现代码混淆。但是网上ProGuard的资料通常都是单应用的实现,因此本文基于dubbo分布式项目,简单描述一下如何实现服务提供者的代码混淆。 ...
在spring-boot项目中返回json格式数据时出现中文乱码问题,有以下两种解决方式: 注解形式 在@RequestMapping注解中指定返回格式,编码: ...
spring-boot中的内嵌tomcat有默认的指定版本,若想修改为其他版本,有以下两种途径: 使用parent的方式 若引入spring-boot的方式为加入<parent>: ...
错误信息: Corrupt form data: premature ending 最近要实现文件上传功能,需要使用O’Reilly公司的cos上传组件,但是这个组件太过久远,最近更新是08年,早期的spring版本支持,现在已经不支持了,好在它是开源的,我根据spring早期版本里的源码自己实现了。但是出现了错误:Corrupt form data: premature ending,网上找到很多都是struts上的错误,原因是request被过滤了,cos只能接受HttpServletRequest,但在spring-boot中也有这个问题,spring-boot虽然节省了我们很多的配置工作,但也无形中为我们做了很多可能我们不需要的配置。 ...
spring-boot配置方式集中处理异常,统一规范接口对外的异常输出。业务代码只需往外抛异常,不需过多关注异常的输出形式。 非系统抛出异常 对于400,404等非系统抛出的异常,使用以下方式: ...
概述 spring-boot默认提供了数据库和数据库连接池,按照官方文档简单配置即可。若要自定义,需要修改一些配置,本文着重描述一下spring-boot如何集成mysql和阿里的druid数据库连接池。 开始 本文环境 jdk:1.7 tomcat:7.0.55 spring-boot:1.2.3.RELEASE 修改application.properties文件 修改spring-boot默认配置文件application.properties,加入一下内容(根据实际情况修改): ...
解决跨域访问问题,只需在被访问的应用中加入一个请求过滤器: 1public class CorsFilter implements Filter { 2 @Override 3 public void doFilter(ServletRequest request, ServletResponse response, 4 FilterChain chain) throws IOException, ServletException { 5 6 HttpServletRequest req = (HttpServletRequest) request; 7 HttpServletResponse res = (HttpServletResponse) response; 8 9 if (req.getHeader("Origin") != null) { 10 res.addHeader("Access-Control-Allow-Origin", "*"); 11 } 12 13 if ("OPTIONS".equals(req.getMethod())) { 14 res.addHeader("Access-Control-Allow-Methods", "OPTIONS, GET, POST"); 15 res.addHeader("Access-Control-Allow-Headers","Origin, Content-Type"); 16 res.addHeader("Access-Control-Max-Age", "-1"); 17 } 18 chain.doFilter(req, res); 19 } 20 21 @Override 22 public void destroy() { 23 } 24 25 @Override 26 public void init(FilterConfig filterConfig) throws ServletException { 27 } 28}