1.异步执行线程
@Async+@EnableAsync
1. @Async描述的方法底层会异步执行(不由web服务线程执行, 而是交给spring自带的线程池中的线程去执行)但是@Async注解的应用有个前提需要启动类上启动异步执行(添加@EnableAsync注解描述).
优点:不会长时间阻塞web服务(例如tomcat)线程
2.spring缓冲注解
2.1@Cacheable
@Cacheable 的作用 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存
当调用这个方法的时候,会先从一个名叫 accountCache 的缓存中查询,如果没有,则执行实际的方法(即查询数据库),并将执行的结果存入缓存中,否则返回缓存中的对象。这里的缓存中的 key 就是参数 userName,value 就是 Account 对象。
@EnableCaching//启动缓冲配置
在一个配置类(@Configuration)上使用@EnableCaching注解时,会触发一个post processor,这会扫描每一个spring bean,查看是否已经存在注解对应的缓存。如果找到了,就会自动创建一个代理拦截方法调用,使用缓存的bean执行处理。
@springBootApplition(exclude = DataSourceAutoConfiguration.class)) 表识为Spring boot项目
@RestController 接受浏览器请求,并返回JSON数据
@RequestMapping(参数“”) | 只匹配一个路径 |
@RequestMapping({“参数1”,参数2}) | 匹配俩种路径(或者的关系) |
@WebServlet 规定浏览器访问方式
@WebFilter("/hello1.html") | 只有访问hello1.html这一个资源时,过滤器会被执行 |
@WebFilter("/user/*") | 是指访问user下的所有资源时,过滤器会被执行 |
@WebFilter("*.jsp") | 匹配后缀: * .jsp, 是指访问所有后缀名为jsp的文件时,过滤器会被执行 |
@WebFilter("/*") | 匹配所有: /* ,是指访问所有资源时,过滤器会被执行 |
@DateTimeFormat(pattern="yyyy-MM-dd";) | 把前段传来的string 类型转为日期格式 |
@EnableEurekaServer(启动类上) | 启动eurka客户端 |
@EnableDiscoveryClient | 让注册中心发现配置,可以扫描到改服务 |
@LoadBalanced | 负载均衡 注解,对RestTemplate实例进行封装,创建动态代理对象,加入aop负载均衡代码,把请求分发到集群中服务器中 |
@Slf4j | 日志记录 |
| 启用 hystrix 断路器 |
| 启动断路器监控 |
@EnableFeignClients | 使用feign调用 |
@GlobalTransactional | 全局事务 |
@MapperScan("cn.tedu.order.mapper") | 映射mapper中的东西 |
@SpringBootApplication(exclude= DataSourceAutoConfiguration.class) | 禁止springboot自动注入数据源置。 |
@Primary | 自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常 |
@Configuration | 把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。 |
@Scope | 注解 作用域 |
@Lazy(true) | 表示延迟初始化 |
@Service | 用于标注业务层组件、 |
@Controller | 用于标注控制层组件(如struts中的action) |
@Repository | 用于标注数据访问组件,即DAO组件。 |
@Component | 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 |
@Scope | 用于指定scope作用域的(用在类上) |
@PostConstruct | 用于指定初始化方法(用在方法上) |
@PreDestory | 用于指定销毁方法(用在方法上) |
@Resource | 默认按名称装配,当找不到与名称匹配的bean才会按类型装配。 |
@DependsOn: | 定义Bean初始化及销毁时的顺序 |
@Primary: | 自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常 |
@Autowired | 默认按类型装配,如果我们想使用按名称装配,可以结合@Qualifier注解一起使用 |
@Autowired @Qualifier("personDaoBean") 存 | 在多个实例配合使用 |