- 浏览: 3552569 次
- 性别:
- 来自: 大连
博客专栏
-
使用Titanium Mo...
浏览量:38217
-
Cordova 3.x入门...
浏览量:607594
-
常用Java开源Libra...
浏览量:682774
-
搭建 CentOS 6 服...
浏览量:89528
-
Spring Boot 入...
浏览量:402129
-
基于Spring Secu...
浏览量:69760
-
MQTT入门
浏览量:91835
最新评论
-
afateg:
阿里云的图是怎么画出来的?用什么工具?
各云服务平台的架构图 -
cbn_1992:
博主,采用jdbctoken也就是数据库形式之后,反复点击获取 ...
Spring Security OAuth2 Provider 之 数据库存储 -
ipodao:
写的很是清楚了,我找到一份中文协议:https://mcxia ...
MQTT入门(6)- 主题Topics -
Cavani_cc:
还行
MQTT入门(6)- 主题Topics -
fexiong:
博主,能否提供完整源码用于学习?邮箱:2199611997@q ...
TensorFlow 之 构建人物识别系统
文章列表
自动配置是Spring Boot的最大亮点,完美的展示了CoC约定由于配置。Spring Boot能自动配置Spring各种子项目(Spring MVC, Spring Security, Spring Data, Spring Cloud, Spring Integration, Spring Batch等)以及第三方开源框架所需要定义的各种Bean。
Spring Boot内部定义了各种各样的XxxxAutoConfiguration配置类,预先定义好了各种所需的Bean。只有在特定的情况下这些配置类才会被起效。
(1)如何导入的自动配置类
查看源码可以看看自动配置类是如何被引入的。
...
启动成功后可以通过以下方法运行自己的初始代码:
@PostConstruct注解
ApplicationReadyEvent事件
CommandLineRunner/ApplicationRunner接口
@Component
public class StartUpInit {
@Autowired
private SomeService service;
@PostConstruct
public void init(){
// ...
}
}
@Component
public class GeneralEventHandle ...
缓存可以缓解数据库访问的压力,Spring自身不提供缓存的存储实现,需要借助第三方,比如JCache、EhCache、Hazelcast、Redis、Guava等。Spring Boot可以自动化配置合适的缓存管理器(CacheManager),默认采用的是ConcurrentMapCacheManager(java.uti ...
经常需要发送一个GET/POST请求到其他系统(REST API),通过JDK自带的HttpURLConnection、Apache HttpClient、Netty 4、OkHTTP 2/3都可以实现。
HttpClient的使用:http://rensanning.iteye.com/blog/1550436
Spring的RestTemplate封装了这些库的实现,使用起来更简洁。
RestTemplate包含以下几个部分:
HttpMessageConverter 对象转换器
ClientHttpRequestFactory 默认是JDK的HttpURLConnection
Res ...
整理归纳虽然是个人习惯,但善于整理归纳的人做事更有条理、更有效率。可以去搜一下家居整理、衣柜整理、冰箱整理、书籍整理、出门行李整理、儿童玩具整理等等,看看整理前后的对比,心情都不一样。这方面日本人和韩国人就比我们做的好,网上有很多例子这里就不说了,推荐可以看看 日本整理大师 近藤麻理惠 写的《怦然心动的人生整理魔法》。
虽然也有研究人员认为“杂乱的环境有助于激发人的创造力给人带来灵感”,但目前还没有明确的实例。
这里要说的是和计算机有关的整理归纳。
在信息爆炸的年代,获取信息更加容易、更加廉价,而同时获取有效信息就变得更加昂贵。随着网络的普及,网速的提升,通过搜索引擎我们能很快获得大量的电 ...
Spring 注解大全
- 博客分类:
- Spring
Spring项目中会用到大量的注解,这里罗列以下常用的。除过这些外SpringBoot、SpringSecurity、SpringData等也有大量的注解。
可以通过package去查看官方文档里的具体说明,比如:
http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/package-summary.html
Annotation Types Summary部分就是该package下所有注解的说明。
(1)Context org.sprin ...
主要用于定时发送邮件、夜间自动维护等。
(1)开启定时任务功能
@Configuration
@EnableScheduling
public class SpringTaskScheduleConfig {
@Bean
public TaskScheduler poolScheduler() {
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.setThreadNamePrefix("poolScheduler&quo ...
(1)远程共享
1)SMB/CIFS(Windows)
Windows提供了访问局域网共享文件的功能,其内置了smb的服务程序和客户端。
Windows上启用共享文件夹只要在文件夹的属性对话框→共享选项卡→高级共享中设置即可,还可以指定用户和读写权限。
2)Samba(Linux)
Samba 是Linux上实现SMB/CIFS协议的开源服务程序及客户端。
通过IP即可访问比如“\\192.168.1.100\共享文件夹\子文件夹”
(2)远程登陆
1)Telnet(Teletype Network)
非加密,使用的比较少。
2)SSH(Secure Shell)
Linux系统默认 ...
异步处理
Java的异步处理Thread/Runnable、Callable/Future
Servlet 2.5的异步处理 Tomcat的CometProcessor、Jetty的Continuations
Servlet 3.0的异步处理 asyncSupported、AsyncContext
Spring MVC的异步处理 @Async、AsyncTaskExecutor
Spring MVC的SSE ResponseBodyEmitter、SseEmitter、StreamingResponseBody
Spring Boot本身对异步调用没有多大的变动,基本还是Spring MV ...
用户认证授权、日志记录MDC、编码解码、UA检查、多端对应等都需要通过拦截请求来共通处理,这时就需要Filter、Listener、Interceptor。而把非Spring Boot项目转换成Spring Boot项目需要沿用以前的这些代码,所以有必要了解这几个东西的用法。
通常来说,用户通过浏览器发起Request进入服务器后侧处理顺序如下:
引用Client -> Listener -> ServletContainer -> Filter -> Servlet -> Interceptor
具体可以看看这里:http://rensanning.iteye ...
保留字、敏感词过滤是网站系统必不可少的2个功能。
(1)保留字:Reserved Words
也叫关键字(Keywords),编程语言预留的有特殊含义的单词,不能用于变量名、函数名等。
Java:
引用public、class、while、continue、extends等。
const和goto是Java的两个保留字,虽然Java并没有使用它们,但也不能被用作标识符。
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
SQL:
引用select、from、where等。
https://www ...
(1)官方文档
开发语言、开源框架、开源软件都会为开发者提供了非常全面的官方说明文档,开发文档大多数是自动生成的(Javadoc/Doxygen/Doxia/JSDuck),便于文档的及时更新大多数是HTML格式的。官方开发文档更全面、更权威,也不用特意去记URL,只要Google一下“xxx docs”既可以看到。
比如:
jQuery http://api.jquery.com/
Bootstrap http://getbootstrap.com/
Java https://docs.oracle.com/javase/8/docs/index.html
Spring https://sp ...
(1)开发阶段
一般开发过程:
1)-写代码
2)- [Run As]→[Spring Boot App]启动服务
3)-页面确认
4)-修改代码
5)-通过控制台停止服务
6)- [Run As]→[Spring Boot App]再启动服务
7)-循环3)
这样重复的停止再启动服务是麻烦的。通过 Spring Loaded 或 SpringBoot Dev Tools 都可以实现热部署,无需重新启动即可生效。
1)SpringLoaded:JVM在运行中重新加载class。
下载springloaded-1.2.5.RELEASE.jar,[Run]→[Run Configuratio ...
(1)读取优先顺序
a - 命令行参数 --key=value
引用$ mvn spring-boot:run -Drun.arguments="--server.port=9090,--server.context-path=/test"
$ java -jar target/xxx.jar --server.port=9090 --server.context-path=/test
b - JVM参数 -Dkey=value
引用$ mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Dserver.port=9 ...
先要了解Spring的异常处理:http://rensanning.iteye.com/blog/2355214
(1)Spring Boot默认开启异常应答
-浏览器访问(Accept: text/html),返回“Whitelabel Error Page”错误页面
-浏览器以外访问返回JSON串:
{"timestamp":1487060396727,"status":404,"error":"Not Found","message":"No message available& ...