1.@Configuration 表示当前类 这是一个配置类
2.@Bean 表示当前 方法 的返回值是 Spring 容器中的一个 Bean(向 spring容器中注册一个对象)
如果想为 bean 自定义一个名字,可以在@Bean 注解中 进行设置 @Bean(“xxx”)
3.@Qualifier(“xxx”) 表示告诉 Spring 容器,需要的 对象名为 xxx。
4.@Component 与 @Configuration 的区别:
@Configuration 注解 类下的 被 @Bean 注解的方法先去 spring 容器中查找是否有被查找的 bean 对象,如果有,则直接使用,就不再执行 @Bean 注解下的方法 @Component 注解的类下被@Bean 注解的方法 会被直接调用,不会去 Spring容器中查找 @Bean不起拦截作用
5.@Scope(“”):设置 bean 的 scope 属性
6.条件注解:
@Conditional :要将某个 bean 注入到 Spring 中时,只有条件满足才会被注册到 Spring 容器中
@Profile :底层为 @Conditional
- @Repository: 一般加在 dao 层 表示将当前类注册到 Spring 容器中
@Service: 一般加在 service 层
@Controller: 一般加在 servlet/controller 层
@Component: 身份不明的组件,用这个注解(通用)
以上四个作用类似 被这些注解修饰的类会被 Spring扫描到并注入到 Spring 的 bean 容器中
8.@ComponentScan(basePackages=“com.bd.demo”) 包扫描, basePackages 指明需要扫描的包,
9.@Autowired (按类型注入) 当存在多个构造方法的时候,可以使用 @Autowired 注解来指定 用哪个构造方法
-
bean 的生命周期
@PreDestroy 表示销毁当前 bean 的时候 ,对应方法会触发
销毁:工厂的close()方法被调用之后 Spring会毁掉所有已创建的单例对象,Prototype对象由JVM销毁
@PostConstruct 当 bean 完成初始化时,对应方法会自动触发
Aop:
11.@Aspect :表示当前类是一个切面
12.@EnableAspectJAutoProxy: 开启切面的自动代理
13.@Before:前置通知
14.@After后置通知
15:@AfterReturning 返回通知
16.@AfterThrowing 异常通知
17.@Around环绕通知
18.单元测试
@Before表示所有的单元测试方法执行之前都会先执行该方法(初始化方法)
@After 之后执行(释放资源)
19.@PropertySource (“classpath:db.properties”) 作用就是加载 db.properties 配置文件,类似于 context:property-placeholder 标签
20. @Value(“db.url”) 表示将 db.url的值绑定到 url 变量上
String url;
- spring 事务:
@EnableTransactionManagement 开启事务支持 注解,将来事务通过注解来标记
@Transactional 加此注解,表示这个方法上就有事务,如果加在类上,表示类上所有方法都有事务



