程序员Spring Boot征服Spring

Spring小结

2016-11-25  本文已影响0人  茗同学

一.环境搭建

创建Maven项目

二.Spring的 IOC(控制反转)与DI(依赖注入)

IOC(把Bean 的创建与管理交给Spring容器)

DI 注入相应的Bean

三.配置类的注解

四.AOP(切面编程,基于cglib动态代理或者JDK动态代理)

五.常用配置

@Scope常用 有两种取值 Singleton 和 Prototype

配置文件读取

  1. 在配置类上注解@ProperSource(“文件路径”)
  2. 用@Value(“${key}”)注入配置文件的值

Bean的初始化和销毁

六.多线程

  1. 使用@EnableAsync 注解配置类开启对异步任务的支持,
  2. 并且要实现AsyncConfiguer接口
  3. 创建一个线程池
  4. 在方法上注解@Async 就说明这个方法为异步方法
@Configuration
@ComponentScan("com.sjx.spring2.multithread")
@EnableAsync//开启异步支持
public class TaskExecutorConfig implements AsyncConfigurer{

    @Override
    public Executor getAsyncExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(5);
        executor.setMaxPoolSize(10);
        executor.setQueueCapacity(25);
        executor.initialize();
        return executor;
    }

    @Override
    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
        return null;
    }

}

七.计划任务

  1. 在配置类添加注解@EnableSchedule 开启对计划任务的支持
  2. 在方法上注解@Scheduled申明方法为计划方法
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
    System.out.println("当前时间为"+dateFormat.format(new Date()));
}

@Scheduled(cron="0 17 10 ? * *")//每天的10点17
public void fixTimeExecution() {
    System.out.println("当定时时间"+dateFormat.format(new Date())+"执行");
}

八.集成Junit

  1. @RunWith(SpringJUnit4ClassRunner.class)提供spring测试的上下文环境
  2. @Test标识方法为测试方法
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={AwareConfig.class})
public class AwareTest {
    @Autowired
    private AwareService service;
    @Test
    public void test1(){
        service.outputResult();
    }
}
上一篇 下一篇

猜你喜欢

热点阅读