1.配置文件总结:
bean节点:
id:用户自定义名称,用于标识当前对象,可以通过getBean(String id)从容器中获取该对象。
class:要交给spring容器创建的对象的全类名(包名+类名)
property节点
name:bean对应的类的属性名称,必须与类中的属性名称一致
ref:引用待注入对象的id,其本质是从当前容器中查找已创建的对象,必须与待注入对象的id保持一致
2.IoC – 控制反转 Inversion of Control,
DI-依赖注入Dependency Injection
控制反转是将对象的生命周期控制权限交由Spring容器管理. 程序不再编写对象创建语句,只使用对象. 这样程序员的精力可以集中在业务开发中. 并且通过Spring容器实现了各层代码之间的解耦, 让代码没有依赖关系. 且实现了代码的可插拔性.
DAO---->Service---->Action
3.Sqlyog建表时主键ID自增需要手动设置:
4.注解花括号传参:
5.@scheduled定时任务:
新建xml文件导入application-context:
(一)在xml里加入task的命名空间:
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd
(二)启用注解驱动的定时任务:
<task:executor id="executor" pool-size="5" /> <task:scheduler id="scheduler" pool-size="10" /> <task:annotation-driven executor="executor" scheduler="scheduler" />
<context:component-scan base-package="job" />
(三)写我们的定时任务:
@Component //必须加,将该类加入spring整合,否则定时任务无效 public class TaskDemo { @Scheduled(cron = "0 0 2 * * ?") //每天凌晨两点执行 void doSomethingWith(){ logger.info("定时任务开始......"); long begin = System.currentTimeMillis(); //执行数据库操作了哦... long end = System.currentTimeMillis(); logger.info("定时任务结束,共耗时:[" + (end-begin) / 1000 + "]秒"); } }