javaConfig
来源:互联网 发布:linux虚拟机网络文件 编辑:程序博客网 时间:2024/05/17 15:02
引言:Spring 从4.x版本开始提倡java配置和注解结合使用,慢慢离开xml繁琐的配置,所以要入门SpringBoot,需要从java配置开始
1.首先导入POM
2.建立一个配置文件(xml),然后申请一个容器,获得bean
这是一个极其精简的XML配置文件了
1.可以尝试使用Spring javaconfig的方式来获得配置并且获得bean,pom文件不变。
2.下图是javaconfig类截图
@Configuration:标明当前类是一个配置类
@ComponentScan(basePackages={"com.turing.Component"}) :扫描的包,相当于xml配置的
<context component-scanner/>
@Bean:表明返回一个bean,该bean由Spring管理
(1.为什么要使用javaconfig,这是因为SpringBoot提倡’零配置’,习惯由于配置,SpringBoot其实很多自动配置时基于javaconfig中的@Conditional条件注解,后面会陆续提出来)
(2.SpringBoot真正使用起来只需要少量的配置,key-value的形式配置在application.properties里面,其余的最精简的写法就是利用javaconfig和注解)
--------------------------------------------------分割线------------------------------------------------------------------
下面介绍几个javaconfig的注解,来完成AOP功能,定时功能,条件Bean功能,配置MVC
1.AOP(需要加入Aspectj的pom依赖)
1.首先,需要在配置类加入注解,然后申请一个Aspectj切面,定义切点
@EnableAspectJAutoProxy(开启对Aspectj代理的支持)
@Aspect(申明Aspectj切面),并且需要在切面类加入Spring的管理@Component
2.计划任务
Quterz是一个定时调度任务框架,Spring对其支持很好,当然Spring也自己内置了一个注解,可以方便的开启计划任务,首先需要利用注解@Scheduled在需要计划任务的方法,然后设置属性,这样当Spring被初始化的时候就会开始调用这个方法,当然还需要在配置类加入@EnableScheduling
@EnableScheduling(使当前应用支持计划调度任务)
@Scheduled(在方法上使用,搭配属性,让Spring定时执行)
其中@Scheduled注解后面括号里面可以指定各种参数,在上面代码里面的fixedRate = 6000意思是下面的任务每隔6000毫秒,即每隔6秒执行一次。
下面简单提一下cron表达式,举个例子:
@Scheduled(cron = "0 0 3 * * ?") //每天凌晨3:00执行任务
cron表达式中各时间元素使用空格进行分割,分别表示如下含义:
按顺序依次为
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
7.年份(1970-2099)
具体参考资料:http://blog.csdn.net/snakemoving/article/details/75662398
3.条件Bean
条件Bean是SpringBoot完成自动配置的重要组成部分,模拟一个场景,如果一个随机数小于6我们就生产一个Task的实例
首先我们要实现Condition接口,然后实现里面的匹配规则,返回boolean类型,让Spring知道是否应该生成实例
------------------------------------------WEB篇------------------------------------------------------------------------
在入门SpringBoot之前,默认大家是已经掌握了SpringMVC Mybatis这2个框架,但是SpringMVC的javaconfig配置方式需要提一提
@EnableWebMvc (开启webmvc功能)
开启资源映射和拦截器处理
从Servlet3.0开始,web项目可以渐渐远离web.xml的配置文件,可以利用注解去替代
这是Spring动态加入dispatchServlet的实现,首先需要实现WebApplicationInitializer,然后申请一个Spring容器,并且注册配置类,将Servlet上下文加入到容器中,并且利用Servlet3.0动态加入Servlet,将容器注入到分发器中,最后web项目完成初始化
PS:入门javaConfig对SpringBoot的学习有增效作用
- JavaConfig
- javaConfig
- 什么是JavaConfig
- spring-javaconfig
- 什么是JavaConfig
- 什么是JavaConfig
- 什么是JavaConfig
- Spring中JavaConfig特性
- Spring 3 JavaConfig example
- Spring 3 JavaConfig example
- Spring JavaConfig实例
- Spring JavaConfig @Import实例
- Spring JavaConfig注入依赖
- 理解Spring-javaconfig
- SpringMVC JavaConfig配置
- Spring 3 JavaConfig @Import example
- 装配Bean:JavaConfig@Bean@Configuration
- Spring journey -- JavaConfig 装配 Bean
- 7.24 数据结构
- Android设置横屏后锁屏问题
- LED点灯驱动
- python连接mysql
- Return of the Nim----博弈(2017山东ACM-ICPC省赛)
- javaConfig
- 服务容错保护Hystrix
- spring消息转化器
- canvas requestAnimationFrame
- 勃大精深的设计模式--面向接口编程
- Android 開發 常見工具類收集
- XLSTransformer 导出
- MySQL数据库
- Jvisualvm监控tomat环境为centos6+tomcat7+jdk7