javaConfig

本文介绍了SpringBoot中Java配置的基本概念及其应用场景,包括如何通过Java配置管理Bean、启用AOP和定时任务等功能,并探讨了条件Bean的概念及其实现。

引言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.youkuaiyun.com/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的学习有增效作用

JavaConfig是Spring框架中的一种配置方式,它使用Java类来定义Bean和配置Spring容器,而不是使用传统的XML文件。JavaConfig提供了一种类型安全且易于维护的配置方式,使得配置更加灵活和可读。 以下是JavaConfig的一些主要特点和优势: 1. **类型安全**:由于配置使用Java类,编译器可以在编译时检查配置的正确性,避免了运行时错误。 2. **可读性**:JavaConfig配置更加接近代码风格,易于阅读和维护。 3. **灵活性**:可以通过编程方式动态配置Bean,增加了配置的灵活性。 4. **模块化**:可以轻松地将配置分解为多个模块,每个模块负责特定的配置部分。 ### 使用JavaConfig的基本步骤 1. **创建配置类**:使用`@Configuration`注解标记一个类作为配置类。 2. **定义Bean**:使用`@Bean`注解标记方法,这些方法返回的对象会被Spring容器管理。 3. **启用组件扫描**:使用`@ComponentScan`注解指定需要扫描的包,Spring会自动检测并注册这些包中的组件。 ### 示例 ```java @Configuration @ComponentScan(basePackages = "com.example") public class AppConfig { @Bean public MyService myService() { return new MyServiceImpl(); } @Bean public MyRepository myRepository() { return new MyRepositoryImpl(); } } ``` 在上述示例中,`AppConfig`类被标记为配置类,并启用了组件扫描。`myService`和`myRepository`方法被标记为Bean,这些方法返回的对象会被Spring容器管理。 ### 使用配置类 在主应用类中,可以通过`AnnotationConfigApplicationContext`来加载配置类: ```java public class MainApp { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); MyService myService = context.getBean(MyService.class); myService.doSomething(); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值