javaConfig

来源:互联网 发布:linux虚拟机网络文件 编辑:程序博客网 时间:2024/05/17 15:02

引言Spring 4.x版本开始提倡java配置和注解结合使用,慢慢离开xml繁琐的配置,所以要入门SpringBoot,需要从java配置开始

1.首先导入POM

 

2.建立一个配置文件(xml),然后申请一个容器,获得bean

 

这是一个极其精简的XML配置文件了

 

1.可以尝试使用Spring javaconfig的方式来获得配置并且获得beanpom文件不变。

 

2.下图是javaconfig类截图

    

@Configuration:标明当前类是一个配置类

@ComponentScan(basePackages={"com.turing.Component"}) :扫描的包,相当于xml配置的

<context component-scanner/>

@Bean:表明返回一个bean,该beanSpring管理

 

1.为什么要使用javaconfig,这是因为SpringBoot提倡’零配置’,习惯由于配置,SpringBoot其实很多自动配置时基于javaconfig中的@Conditional条件注解,后面会陆续提出来)

2.SpringBoot真正使用起来只需要少量的配置,key-value的形式配置在application.properties里面,其余的最精简的写法就是利用javaconfig和注解)

 

 

--------------------------------------------------分割线------------------------------------------------------------------

下面介绍几个javaconfig的注解,来完成AOP功能,定时功能,条件Bean功能,配置MVC

 

1.AOP(需要加入Aspectjpom依赖)

 





 

 

 

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 SUNMONTUEWEDTHUFRISAT
7.年份(19702099

具体参考资料:http://blog.csdn.net/snakemoving/article/details/75662398

 

 

3.条件Bean

条件BeanSpringBoot完成自动配置的重要组成部分,模拟一个场景,如果一个随机数小于6我们就生产一个Task的实例

 






 


 

 

 

首先我们要实现Condition接口,然后实现里面的匹配规则,返回boolean类型,让Spring知道是否应该生成实例

------------------------------------------WEB------------------------------------------------------------------------

在入门SpringBoot之前,默认大家是已经掌握了SpringMVC Mybatis2个框架,但是SpringMVCjavaconfig配置方式需要提一提

 

@EnableWebMvc (开启webmvc功能)

 

开启资源映射和拦截器处理

Servlet3.0开始,web项目可以渐渐远离web.xml的配置文件,可以利用注解去替代

 

这是Spring动态加入dispatchServlet的实现,首先需要实现WebApplicationInitializer,然后申请一个Spring容器,并且注册配置类,将Servlet上下文加入到容器中,并且利用Servlet3.0动态加入Servlet,将容器注入到分发器中,最后web项目完成初始化

 

PS:入门javaConfigSpringBoot的学习有增效作用