注解:
-
lombok注解 @Data:为实体类构造,get/set方法等
@NoArgsConstructor : 为实体类提供无参构造
@AllArgsConstructor : 为实体类提供全参构造
@Builder : 链式编程使用
Address.AddressBuilder city = Address.builder().city("合肥"); System.out.println(city); //注意: 使用Builder注解时 , 只提供有参构造 无参构造不提供 , 使用DI依赖注入时需要提供无参构造
-
spring注解
-
@Component(任何层) :创建Bean对象并存入IOC容器
由@Component衍生而来的三个注解: @Controller:用于表现层 @Service:用于业务层 @Repository:用于持久层 对应的层一般选择对应衍生的注解,不属于这三层的,选择使用@Component
-
@Bean: 声明在方法上,用于将方法的返回值对象放入容器
此注解可指定Bean对象的id -- @Bean("*")
-
@Configuration: 此注解标注的类,会被Spring认为是配置类。Spring启动时会自动扫描并加载所有配置类,然后将配置类中bean放入容器
-
@ComponentScan: 组件扫描 (扫描spring的相关注解)
@ComponentScan("com.ithema") -- 在指定包下扫描
-
@Import: 在一个配置类中导入其它配置类的内容
@import({jdbc.class})
-
@PropertySource: 用于引入其它的properties配置文件 , 加载外部资源
此注解可引入多个配置文件 , 用逗号隔开即可 其ignoreResourceNotFound = true 表示文件不存在不会报错 , 允许文件不存在
-
@Value: 简单属性的依赖注入 , 可解析SPEL表达式
-
@Autowired: 对象属性的依赖注入
自动装配对象 按照类型进行匹配(类似getBean(Class<?> class)) 类型相同时 会根据变量名 在IOC 容器中查找与其一致的id 如果都找不到会报错 需使用Qualifier 注解指定查找bean的名称
-
@Qualifier: 要和@Autowired联合使用,代表在按照类型匹配的基础上,再按照名称匹配。
-
@Resource 按照属性名称依赖注入 名称不存在再按照类型查找
-
@Primary : 当接口具有多个实现类时 ,使用此注解可提高对应实现类的获取优先级, 注:此注解超过一个会报错
-
@Scope : 设置Spring对象的作用域
-
@PostConstruct @PreDestroy : 用于设置Spring创建对象在对象创建之后和销毁之前要执行的方法
-
@RunWith(SpringJUnit4ClassRunner.class) : spring集成junit注解
@ContextConfiguration(classes = SpringConfig.class) 指明spring核心容器
-
@Aspect:声明当前bean对象为切面
@Pointcut:声明切入点表达式 @Pointcut("execution(* com.itheima.dao.*.*(..))") private void pid(){};
-
通知类型注解
@Before @AfterReturning @AfterThrowing @After @Around
-
@EnableAspectJAutoProxy:使用于核心配置类上,开启AOP注解的支持 属性proxyTargetClass:用于更改aop底层代理实现
-
@EnableTransactionManagement : 开始事务注解支持
-
@Transactional 此注解可以标在类上,也可以表在方法上,表示当前类中的方法具有事务管理功能。
可设置其隔离级别 传播行为 是否只读 超时时间等 可以写在类和方法上
-
springMVC注解
-
@RequestParam: 此注解用于controller层 接收参数上 当封装参数名称与前端传来的key或name属性值不一致时, 用此注解绑定 , 可指定默认值 以及是否必须要携带此参数
test(@RequsetParam(value="habbies",required=false,defaultValue="aa") String happy); value 为前端传来的key或name属性名 required : 表示是否必须 defaultValue : 当没有该参数时 ,取其默认值
-
@RequestBody: 用在方法参数上可以将前端传递的json字符串解析成对象类型 此注解只支持post请求
-
@ResponeBody: 主要将对象解析成json字符串 ,阻止页面跳转
方法返回值会通过IO流方式写入浏览器。将controller方法返回的对象通过适当的转换器转换为指定格式后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,效果等同于通过response对象输出指定格式的数据。 异步获取 json 数据,加上 @ResponseBody 后,会直接返回json 数据。
-
@RequestMapping: 此注解用于controller层 (方法/类上) 表示跳转路径(url)
-
@RestController : 等同于@controller +@ResponeBody