spring常用注解有哪些

作者&投稿:祖管 (若有异议请与网页底部的电邮联系)
spring常用的注解有哪些~

《spring常用的注解》百度网盘资源下载链接: https://pan.baidu.com/s/1P_qMkdFGYQA3rGFkSlHxgA
提取码: ida4
注解本身没有功能的,就和 xml 一样。注解和 xml 都是一种元数据,元数据即解释数据的数据,这就是所谓配置。本文主要罗列 Spring|Spring MVC相关注解的简介。

多个包逗号隔开。
1、@Component
@Component
是所有受Spring 管理组件的通用形式,@Component注解可以放在类的头上,@Component不推荐使用。
2、@Controller
@Controller对应表现层的Bean,也就是Action,例如:
1 @Controller
2 @Scope("prototype")
3 public class UserAction extends BaseAction{
4 ……
5 }
使用@Controller注解标识UserAction之后,就表示要把UserAction交给Spring容器管理,在Spring容器中会存在一个名字为"userAction"的action,这个名字是根据UserAction类名来取的。注意:如果@Controller不指定其value【@Controller】,则默认的bean名字为这个类的类名首字母小写,如果指定value【@Controller(value="UserAction")】或者【@Controller("UserAction")】,则使用value作为bean的名字。
这里的UserAction还使用了@Scope注解,@Scope("prototype")表示将Action的范围声明为原型,可以利用容器的scope="prototype"来保证每一个请求有一个单独的Action来处理,避免struts中Action的线程安全问题。spring 默认scope 是单例模式(scope="singleton"),这样只会创建一个Action对象,每次访问都是同一Action对象,数据不安全,struts2 是要求每次次访问都对应不同的Action,scope="prototype" 可以保证当有请求的时候都创建一个Action对象
3、@ Service
@Service对应的是业务层Bean,例如:
1 @Service("userService")
2 public class UserServiceImpl implements UserService {
3 ………
4 }
@Service("userService")注解是告诉Spring,当Spring要创建UserServiceImpl的的实例时,bean的名字必须叫做"userService",这样当Action需要使用UserServiceImpl的的实例时,就可以由Spring创建好的"userService",然后注入给Action:在Action只需要声明一个名字叫“userService”的变量来接收由Spring注入的"userService"即可,具体代码如下:
1 // 注入userService
2 @Resource(name = "userService")
3 private UserService userService;
注意:在Action声明的“userService”变量的类型必须是“UserServiceImpl”或者是其父类“UserService”,否则由于类型不一致而无法注入,由于Action中的声明的“userService”变量使用了@Resource注解去标注,并且指明了其name = "userService",这就等于告诉Spring,说我Action要实例化一个“userService”,你Spring快点帮我实例化好,然后给我,当Spring看到userService变量上的@Resource的注解时,根据其指明的name属性可以知道,Action中需要用到一个UserServiceImpl的实例,此时Spring就会把自己创建好的名字叫做"userService"的UserServiceImpl的实例注入给Action中的“userService”变量,帮助Action完成userService的实例化,这样在Action中就不用通过“UserService userService = new UserServiceImpl();”这种最原始的方式去实例化userService了。如果没有Spring,那么当Action需要使用UserServiceImpl时,必须通过“UserService userService = new UserServiceImpl();”主动去创建实例对象,但使用了Spring之后,Action要使用UserServiceImpl时,就不用主动去创建UserServiceImpl的实例了,创建UserServiceImpl实例已经交给Spring来做了,Spring把创建好的UserServiceImpl实例给Action,Action拿到就可以直接用了。Action由原来的主动创建UserServiceImpl实例后就可以马上使用,变成了被动等待由Spring创建好UserServiceImpl实例之后再注入给Action,Action才能够使用。这说明Action对“UserServiceImpl”类的“控制权”已经被“反转”了,原来主动权在自己手上,自己要使用“UserServiceImpl”类的实例,自己主动去new一个出来马上就可以使用了,但现在自己不能主动去new“UserServiceImpl”类的实例,new“UserServiceImpl”类的实例的权力已经被Spring拿走了,只有Spring才能够new“UserServiceImpl”类的实例,而Action只能等Spring创建好“UserServiceImpl”类的实例后,再“恳求”Spring把创建好的“UserServiceImpl”类的实例给他,这样他才能够使用“UserServiceImpl”,这就是Spring核心思想“控制反转”,也叫“依赖注入”,“依赖注入”也很好理解,Action需要使用UserServiceImpl干活,那么就是对UserServiceImpl产生了依赖,Spring把Acion需要依赖的UserServiceImpl注入(也就是“给”)给Action,这就是所谓的“依赖注入”。对Action而言,Action依赖什么东西,就请求Spring注入给他,对Spring而言,Action需要什么,Spring就主动注入给他。
4、@ Repository
@Repository对应数据访问层Bean ,例如:
1 @Repository(value="userDao")
2 public class UserDaoImpl extends BaseDaoImpl {
3 ………
4 }
@Repository(value="userDao")注解是告诉Spring,让Spring创建一个名字叫“userDao”的UserDaoImpl实例。
当Service需要使用Spring创建的名字叫“userDao”的UserDaoImpl实例时,就可以使用@Resource(name = "userDao")注解告诉Spring,Spring把创建好的userDao注入给Service即可。
1 // 注入userDao,从数据库中根据用户Id取出指定用户时需要用到
2 @Resource(name = "userDao")
3 private BaseDao userDao;

spring常用注解

链接: https://pan.baidu.com/s/1RMGgHj_mab67uA5KZD-IAg

提取码: vbp5     

注解本身没有功能的,就和 xml 一样。注解和 xml 都是一种元数据,元数据即解释数据的数据,这就是所谓配置。



Spring自带的@Component注解及扩展@Repository、@Service、@Controller

1、被@Component注解的POJO类将自动被Spring识别并注册到Spring容器中,且自动支持自动装配。

2、被@Repository注解的POJO类表示DAO层实现。

3、被@Service注解的POJO类表示Service层实现,从而见到该注解就想到Service层实现,使用方式和@Component相同。

4、被@Controller注解的类表示Web层实现,从而见到该注解就想到Web层实现,使用方式和@Component相同。

Spring

能有效地组织中间层对象,无论你是否选择使用了EJB。如果你仅仅使用了Struts或其他的包含了J2EE特有API的framework,你会发现Spring关注了遗留下的问题。Spring能消除在许多工程上对Singleton的过多使用。

Spring能消除使用各种各样格式的属性定制文件的需要,在整个应用和工程中,可通过一种一致的方法来进行配置。

以上内容参考:百度百科-spring



spring常用注解及其作用列出如下,供参考:

1、@ Repository:对应数据访问层Bean ,将标注了此注解的类纳入进spring容器中管理。例如:

2、@ Service:对应的是业务层Bean,将标注了此注解的类纳入进spring容器中管理。例如:

3、@Controller:对应表现层的Bean,也就是Action,将标注了此注解的类纳入进spring容器中管理。例如:

4、@RequestMapping:地址映射;

5、@Resource:装配。



网页链接  这篇文章写得非常不错,你可以仔细看看



springmvc常用注解标签详解
1、@Controller
在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们可以通过Controller 的方法参数灵活的获取到。
@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。单单使用@Controller 标记在一个类上还不能真正意义上的说它就是SpringMVC 的一个控制器类,因为这个时候Spring 还不认识它。那么要如何做Spring 才能认识它呢?这个时候就需要我们把这个控制器类交给Spring 来管理。有两种方式:
(1)在SpringMVC 的配置文件中定义MyController 的bean 对象。
(2)在SpringMVC 的配置文件中告诉Spring 该到哪里去找标记为@Controller 的Controller 控制器。
2、@RequestMapping
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
3、@Resource和@Autowired
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。
4、@ModelAttribute和 @SessionAttributes
代表的是:该Controller的所有方法在调用前,先执行此@ModelAttribute方法,可用于注解和方法参数中,可以把这个@ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseController,即可实现在调用Controller时,先执行@ModelAttribute方法。
@SessionAttributes即将值放到session作用域中,写在class上面。
具体示例参见下面:使用 @ModelAttribute 和 @SessionAttributes 传递和保存数据
5、@PathVariable
用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。
6、@requestParam
@requestParam主要用于在SpringMVC后台控制层获取参数,类似一种是request.getParameter("name"),它有三个常用参数:defaultValue = "0", required = false, value = "isApp";defaultValue 表示设置默认值,required 铜过boolean设置是否是必须要传入的参数,value 值表示接受的传入的参数类型。
7、@ResponseBody
作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
8、@Component
相当于通用的注解,当不知道一些类归到哪个层时使用,但是不建议。
9、@Repository
用于注解dao层,在daoImpl类上面注解。


Springboot验证器注解?
SpringBootApplication注解是SpringBoot的灵魂注解这个注解整合了3个注解的特性:分别是@Configuration注解、@Component注解、@EnableAutoConfiguration注解。Springboot(四):springboot的注解有哪些注解1、:##@SpringBootApplication标识该类为SpringBoot项目启动类。2、springboot常用注解有@SpringBootApplication;@...

springboot使用@data注解
2. 添加Maven依赖:在项目的pom.xml文件中添加Lombok的依赖。3. 重启IDEA:确保IDEA加载了Lombok插件。4. 使用@Data编写实体类:在类上使用@Data注解,即可自动生成get、set、toString等方法。5. 测试代码:编写测试代码,验证生成的方法是否正确。6. Lombok常用注解 常用的注解包括:Data:类上使用,...

springboot注解原理(springbootapplication注解原理)
SpringBootConfiguration:读取配置文件,配置文件的路径是当前根目录(src\/main\/resources\/application.yml等)。:##@SpringBootApplication标识该类为SpringBoot项目启动类。springboot常用注解有@SpringBootApplication;@Repository;@Service;@RestController;@ResponseBody。SpringBoot条件注解ConditionalOnClass底层...

component注解的用法?
Spring常用注解大全 @Controller:组合注解(组合了@Component注解),应用在Controller层(控制层)。 @Service:组合注解(组合了@Component注解),应用在Service层(业务逻辑层)。 @Reponsitory:组合注解(组合了@Component注解),应用在Dao层(数据访问层)。 @Component:表示类是一个“组件”,成为Spring管理的Bean。同时@Compone...

@bean注解和@component注解的区别(@bean注解的方法可以写参数吗...
SpringBeanContainerSpring在古老版本会用xml实现bean的注册,在新版本也可以使用@Service、@Repository、@Controller等基于@Component的注解注入bean。Configuration该注解是可以用来替代XML文件。Bean和注入Bean的几种常用注解和区别一般快速导入一批组件时使用,如同时注册好几个动物类:容器中的Bean:只有动物园...

Spring Boot(十三):Lombok插件
使用Lombok就像打开一扇魔法之门,只需几个简单的步骤。首先,确保你的项目中添加了Lombok的依赖,虽然在SpringBoot 2.1.x之后它是可选的,但其带来的便利性不容忽视。在你的pom.xml或者build.gradle文件中,轻轻一行注解,一切就绪。接下来,让我们看看Lombok的魔法棒挥动出的几个常用注解:Getter和@...

FeignClient注解及参数问题---SpringCloud微服务
在用分布式架构SpringBoot的SpringCloud技术开发过程中,FeignClient 是一个常用的注解,且很重要的功能。简单理解就是,分布式架构服务之间,各子模块系统内部通信的核心。一般在一个系统调用另一个系统的接口时使用,如下:注解 FeignClient("XXX")public interface XX{   ...} 该注解一般创建在...

springboot自动装配?
(1)@Configuration注解 (2)@ComponentScan (3)@EnableAutoConfiguration 从源码中可以知道,最关键的要属@Import(EnableAutoConfigurationImportSelector.class),借助EnableAutoConfigurationImportSelector,@EnableAutoConfiguration可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot...

Spring框架注解里面@Scope什么意思
在该对象不再处于这些scope的限定之后,容器通常会销毁这些对象),其默认作用域是"singleton",如果要换成其他作用区域,直接后面添加类型即可,比如@Scope("prototype") ,注意spring2.0后 又增加了request ,session和global session 4个作用区域,希望对你有帮助。

spring字典处理逻辑?
3、TranscationStatus\/\/代表了当前的事务,可以提交,回滚。4、借助这个接口我们可以在想要操作的方法外加一些操作。事务拦截的对象是TransactionInterceptor,可以看出它继承了TransactionAspectSupport.TransactionAspectSupport内部是真正的操作部分。spring常用注解1、@EnableWebMvc:用在配置类上,开启SpringMvc的...

梅河口市19420071449: springmvc常用的注解有哪些 -
韶胞得力: 1、@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常...

梅河口市19420071449: SpringMVC当中支持的注解有哪些 -
韶胞得力: spring mvc常用的注解:个介绍. @Controller @Controller 负责注册一个bean 到spring 上下文中,bean 的ID 默认为类名称开头字母小写,你也可以自己指定,如下 方法一: @Controller public class TestController {}方法二: @Controller("...

梅河口市19420071449: springmvc 有哪些注解 pathvariable -
韶胞得力: 1、 @PathVariable 当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上. 示例代码: @Controller @RequestMapping("/owners/{ownerId}") public cl...

梅河口市19420071449: springmvc的注解都有哪些 -
韶胞得力: springmvc常用注解标签详解 1、@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在...

梅河口市19420071449: Spring 有哪些注解?分别怎么用? -
韶胞得力: Controller 该类为Controller RequestMapping 配置方法路径等信息 ResponseBody 返回值,例如JSON,XML PathVariable 获取RESTFUL路径中的值如 /company/{corpId}/dept/{deptId} RequestParam 获取Request参数值如xxx?from=index_nav ...

梅河口市19420071449: spring中如何使用注解来配置bean?有哪些相关的注解 -
韶胞得力: 答:首先需要在Spring配置文件中增加如下配置:1 <context:component-scan base-package="org.example"/> 然后可以用@Component、@Controller、@Service、@Repository注解来标注需要由Spring IoC容器进行对象托管的类.这几个注解没有本质区别,只不过@Controller通常用于控制器,@Service通常用于业务逻辑类,@Repository通常用于仓储类(例如我们的DAO实现类),普通的类用@Component来标注.

梅河口市19420071449: Spring 注释 Autowired 和@Resource 的区别 -
韶胞得力: @Autowired标注在类属性的set方法上(或属性上也可但破坏封装或标注在任意方法上其实都可以),然后标注的这个set方法就会被spring容器初始化的时候发现,then当spring发现有合适的bean的类型符合这个set方法的形参类型的时...

梅河口市19420071449: 四,spring的aspectj注解有哪些,分别是什么意思 -
韶胞得力: 注解模式的aspectj中,切面逻辑、切入点等都需要集中定义在一个类中.其中:@Pointcut注解定义了切入点,它通过一个execution表达式来指定需要切入的类和方法,将本注解所在的方法与切入的方法绑定,后续的操作中都直接使用注解所...

梅河口市19420071449: springmvc框架常用注解有哪些 -
韶胞得力: 可以将你想传到页面的东西塞到model里,在页面直接取值就可以了,如model.addAtrribute("name",name);那样的话在JSP页面中${name}就能直接得到了

梅河口市19420071449: Spring中的@代表什么 -
韶胞得力: 使用注解的方式. @Resource、@Autowired、@RequestMapping、@Controller这几种都是spring常见的注解.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网