您的位置:首页 > 编程语言 > Java开发

spring常见注解

2020-02-05 11:28 89 查看

开始记录自己在spring的学习进度,与大家一起进步

spring部分

@Component 声明为组件,没有所谓的角色
@Service 声明为业务逻辑层使用(service层)
@Repository 声明为持久层使用 (dao层)
@Controller 声明为展现层使用(与前端交互使用)
(spring三层架构:model+view+controller
这其中可以是ssm或者ssh,下一次再说)
@Autowired 注入bean注解,自动注入
@Resource 相当于@Autowired,只不过是支持由JSR-250规范定义的注解(@PreDestory,@PostConstruct)
声明的时候可以上到name属性,以这个name注入spring
type属性则是bean 的类型,可以是byName或者byType类型注入
装配顺序:1.有name有type
2.有name
3.有type
4.都没有,默认类名
@Inject 我第一次见到,查阅相关资料,发现他可以出现在类成员之前,表示该成 员需要注入依赖项(按顺序处理:构造方法,方法,属性)
@ComponentScan 用于对component的扫描(就指定你要的bean要去哪个包下扫描)
@Configuration 标注在类上的话,相当于把该类作为spring中xml配置文件中的 ,使用这个注解的注入方法使用AnnotationConfigApplicationContext(标注的字节码)
@Bean 一般都跟@Configuration一起使用,先标注当前类为配置类,再使用 @Bean对某一方法进行注入
@WishlyConfiguration 相当于@Configuration跟@ComponentScan的组合注解

有关切面(AOP)的注解

@Aspect 声明一个切面
@After 在方法执行之后执行
@Before 在方法执行之前执行
@Around 在方法执行之前与之后执行
@PointCut 声明切点(对事务进行增强)

异步相关

@EnableAsync 开启对异步任务的支持(作用在类上)
@Async 申明该方法为异步任务(需要先用@EnableAsync开启)

定时任务

@EnableScheduling 在配置类上使用,开启定时任务的支持
@Scheduled 来申明这是一个定时任务

与测试相关的注解

@RunWith 通常用来对junit的支持
(@RunWith(SpringJUnit4ClassRunner.class))
@ContextConfiguration 用来加载配置ApplicationContext
@Test 声明该方法为测试方法
@Ingore 测试的时候忽略此方法(一般在做回环测试要忽视某些方法的时候使用)
@FixMethodOrder 用来使用测试方法执行的顺序
@FixMethodOrder(MethodSorters.NAME_ASCENDING)以方法的字母顺序(升序)执行
@FixMethodOrder(MethodSorters.JVM)
@FixMethodOrder(MethodSorters.DEFAULT)

springmvc相关注解

@Controller 声明该类为SpringMVC中的Controller
@RequestMapping 用于映射Web请求,包括访问路径和参数(类或方法上)
@ResponseBody 支持将返回值放在response内,而不是一个页面,通常用户返回json数据(返回值旁或方法上)
@RequestBody 允许request的参数在request体中,而不是在直接连接在地址后面。(放在参数前)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: