A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天是Spring的第二天,今天我们学习了Spring的注解配置方式,请大家整理:
1 罗列出Spring常用的注解,并说明该注解的作用是什么?
2 使用Spring整合junit需要注意哪些方面?或者说使用的注意事项是什么?

6 个回复

倒序浏览
本帖最后由 陈伟彬 于 2019-6-3 21:43 编辑

1 罗列出Spring常用的注解,并说明该注解的作用是什么?
答:
        创建对象:把当前类对象存入spring容器中
                @Component:用于组件,属性 value:bean对象的id标识,不写默认为类名(首字母小写);
                @Controller:用于表现层,同Component;
                @Service:用于业务层,同Component;
                @Repository:用于持久层,同Component;
        依赖注入:
                引用类型:
                        @Autowired:会根据类型去容器找到相应的对象进行自动注入;
                        @Qualifier(“id”):需要和Autowired一起使用,会根据id指定查找,然后注入;
                        @Resource(“id”):可以单独使用,根据id指定进行查找,然后注入;
                基本类型和String类型
                        @Value:注入指定数据,属性 value:数据的值;
                集合类型:只能在xml中进行注入;
        声明周期和作用范围:
                @Scope:指定作用范围,取值:singleton(单例)、prototype(多例);
                @PostConstruct:指定初始化方法;
                @PreDestroy:指定销毁方法

2 使用Spring整合junit需要注意哪些方面?或者说使用的注意事项是什么?
答:
        在进行注解前,需要先导入spring整合junit的坐标;
        当我们使用spring 5.x版本的时候,要求junit的jar必须是4.12及以上;
        在指定配置文件前,需要先用@RunWith将原有的Junit的运行器,替换成Spring提供的运行器;
        根据配置文件的不同,@ContextConfugiration进行配置的属性也不同:
                xml方式:locations:指定xml文件的路径,如果添加关键字classpath,则说明文件在类路径下;
                注解方式:class而是:指定注解类所在地位置;
        最后还需要用@Autowired给测试类中的变量注入数据;
回复 使用道具 举报

今天是Spring的第二天,今天我们学习了Spring的注解配置方式,请大家整理:
1 罗列出Spring常用的注解,并说明该注解的作用是什么?
* 用于创建对象的
*      他们的作用就和在XML配置文件中编写一个<bean>标签实现的功能是一样的
*      Component:
*          作用:用于把当前类对象存入spring容器中
*          属性:
*              value:用于指定bean的id。当我们不写时,它的默认值是当前类名,且首字母改小写。
*      Controller:一般用在表现层
*      Service:一般用在业务层
*      Repository:一般用在持久层
*      以上三个注解他们的作用和属性与Component是一模一样。
*      他们三个是spring框架为我们提供明确的三层使用的注解,使我们的三层对象更加清晰
*
*
* 用于注入数据的
*      他们的作用就和在xml配置文件中的bean标签中写一个<property>标签的作用是一样的
*      Autowired:
*          作用:自动按照类型注入。只要容器中有唯一的一个bean对象类型和要注入的变量类型匹配,就可以注入成功
*                如果ioc容器中没有任何bean的类型和要注入的变量类型匹配,则报错。
*                如果Ioc容器中有多个类型匹配时:
*          出现位置:
*              可以是变量上,也可以是方法上
*          细节:
*              在使用注解注入时,set方法就不是必须的了。
*      Qualifier:
*          作用:在按照类中注入的基础之上再按照名称注入。它在给类成员注入时不能单独使用。但是在给方法参数注入时可以(稍后我们讲)
*          属性:
*              value:用于指定注入bean的id。
*      Resource
*          作用:直接按照bean的id注入。它可以独立使用
*          属性:
*              name:用于指定bean的id。
*      以上三个注入都只能注入其他bean类型的数据,而基本类型和String类型无法使用上述注解实现。
*      另外,集合类型的注入只能通过XML来实现。
*
*      Value
*          作用:用于注入基本类型和String类型的数据
*          属性:
*              value:用于指定数据的值。它可以使用spring中SpEL(也就是spring的el表达式)
*                      SpEL的写法:${表达式}
*
* 用于改变作用范围的
*      他们的作用就和在bean标签中使用scope属性实现的功能是一样的
*      Scope
*          作用:用于指定bean的作用范围
*          属性:
*              value:指定范围的取值。常用取值:singleton prototype
*
* 和生命周期相关 了解
*      他们的作用就和在bean标签中使用init-method和destroy-methode的作用是一样的
*      PreDestroy
*          作用:用于指定销毁方法
*      PostConstruct
*          作用:用于指定初始化方法
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
2 使用Spring整合junit需要注意哪些方面?或者说使用的注意事项是什么?
第一步:拷贝整合 junit 的必备 jar 包到 lib 目录
此处需要注意的是,导入 jar 包时,需要导入一个 spring 中 aop 的 jar 包。
第二步:使用@RunWith 注解替换原有运行器

测试类虽然可以配到xml中 但是我们一般不使用 因为:测试类只是我们在测试功能时使用,而在项目中它并不参与程序逻辑,也不会解决需求上的问题,所以创建完了,并没有使用。那么存在容器中就会造成资源的浪费。
回复 使用道具 举报
今天是Spring的第二天,今天我们学习了Spring的注解配置方式,请大家整理:
1 罗列出Spring常用的注解,并说明该注解的作用是什么?
@Component 、@Controller、 @Service 、@Repository        把资源让 spring 来管理,相当于在 xml 中配置一个 bean
@Autowired        自动按照类型注入
@Qualifier         在自动按照类型注入的基础之上,再按照 Bean 的 id 注入
@Resource        直接按照 Bean 的 id 注入
@Value                注入基本数据类型和 String 类型数据的
@Scope                指定 bean 的作用范围
@PostConstruct         用于指定初始化方法
@PreDestroy        用于指定销毁方法

2 使用Spring整合junit需要注意哪些方面?或者说使用的注意事项是什么?
1)导入整合 junit 的必备 jar 包
2)使用@RunWith 注解替换原有运行器 
3)使用@ContextConfiguration 指定 spring 配置文件的位置
4)使用@Autowired 给测试类中的变量注入数据
回复 使用道具 举报
今天是Spring的第二天,今天我们学习了Spring的注解配置方式,请大家整理:
1 罗列出Spring常用的注解,并说明该注解的作用是什么?
答:
(1)用于创建对象的
@Component:相当于在 xml 中配置一个 bean。value:指定 bean 的 id。如果不指定 value 属性,默认 bean 的 id 是当前类的类名。首字母小写。
@Controller @Service @Repository
他们三个注解都是针对一个的衍生注解,他们的作用及属性都是一模一样的。只不过是提供了更加明确的语义化。
@Controller:一般用于表现层的注解。
@Service:一般用于业务层的注解。
@Repository:一般用于持久层的注解。
(2)用于注入数据的
@Autowired:作用:自动按照类型注入。当使用注解注入属性时,set 方法可以省略。它只能注入其他 bean 类型。当有多个
类型匹配时,使用要注入的对象变量名称作为 bean 的 id,在 spring 容器查找,找到了也可以注入成功。找不到就报错。
@Qualifier:作用:在自动按照类型注入的基础之上,再按照 Bean 的 id 注入。它在给字段注入时不能独立使用,必须和@Autowire 一起使用;但是给方法参数注入时,可以独立使用。
@Resource:作用:直接按照 Bean 的 id 注入。它也只能注入其他 bean 类型。
@Value:作用:注入基本数据类型和 String 类型数据的
(3)用于改变作用范围的:
@Scope: 取值:singleton ,prototype
(4)和生命周期相关的:
@PostConstruct:作用:用于指定初始化方法。
@PreDestroy作用:用于指定销毁方法。

2 使用Spring整合junit需要注意哪些方面?或者说使用的注意事项是什么?
答:第一步:导一个jar包spring-text。
第二步:使用@RunWith 注解替换原有运行器
第三步:使用@ContextConfiguration 指定 spring 配置文件的位置
@ContextConfiguration 注解:
locations 属性:用于指定配置文件的位置。如果是类路径下,需要用 classpath:表明
classes 属性:用于指定注解的类。当不使用 xml 配置时,需要用此属性指定注解类的位置。
回复 使用道具 举报

陈鹏涛
今天是Spring的第二天,今天我们学习了Spring的注解配置方式,请大家整理:
1 罗列出Spring常用的注解,并说明该注解的作用是什么?
                                @Component:作用:默认为当前类的名称首字母变成小写,能在servle,                                                         
                                                                srvice,  dao层与其他类都能应用,注入对象
                                @Controller:表现层
                                 @Service:业务层
                                @ Repository:持久层
                      @Autowired:自动安照类型注入(容器中的value进行数据注入)
                             (如果容器有,直接赋值)
                               @Qualifier("runner")
                               @Resource(name="accountDao")等于@Autowired+@Qualifer
              
2 使用Spring整合junit需要注意哪些方面?或者说使用的注意事项是什么?
        在进行注解前,需要先导入spring整合junit的坐标;
           当我们使用spring 5.x版本的时候,要求junit的jar必须是4.12及以上;
        在指定配置文件前,需要先用@RunWith将原有的Junit的运行器,替换成Spring提供的运行器;
        根据配置文件的不同,@ContextConfugiration进行配置的属性也不同:
                xml方式:locations:指定xml文件的路径,如果添加关键字classpath,则说明文件在类路径下;
                注解方式:class而是:指定注解类所在地位置;
        最后还需要用@Autowired给测试类中的变量注入数据;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马