注解
- @Qualifier: byName注入时, eg: @Qualifier(“userService”)
- @Component: 把普通的pojo实例化到spring容器中,相当于配置文件中的,泛指各种组件
- @Autowired: 对类成员变量、方法及构造函数进行标注,自动装配。自动装配的几种方式:构造器、setter、field反射注入。
- @Required: 只能设置在setter上,在配置文件中加<bean class=“org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor”/>,如果带该注解的属性未设置的话,会抛异常:BeanInitializationException.
- @Transactional:事务注解,spring支持编程式和声明式注解。
(rollbackFor=Exception.class):不加的话只回滚运行时异常,加的话回滚所有异常。
事务不生效的情况:①同一个类中调用加事务的方法:不会被AOP代理捕获,可以在调用事务的方法上也加上事务;②方法不是public:会被忽略,不抛出任何异常;③……
SpringBoot
- 多个Spring Boot项目部署在一个Tomcat容器冲突问题:
-
Spring Boot的spring.jmx资源管理是默认打开的,而两个项目同时使用会冲突,网上有两种解决办法,修改配置文件application.yml: ①:在项目配置中加入:spring.jmx.enabled=false ②:在application中各自配置: spring.jmx.default-domain=project1 spring.jmx.default-domain=project2 以保证domain是两个不一样的