精华内容
下载资源
问答
  • Spring中的byName与byType

    万次阅读 2017-01-23 16:49:37
    原文地址:... Spring注入中byType和byName的总结 1.首先,区分清楚什么是byType,什么是byName。 "userServiceImpl" class="cn.com.bochy.service.impl.UserServiceImpl

    原文地址:http://www.cnblogs.com/RunForLove/p/5528004.html

    1.首先,区分清楚什么是byType,什么是byName。

    <bean id="userServiceImpl" class="cn.com.bochy.service.impl.UserServiceImpl" autowire="byName">
    </bean>  
    <bean id="userDao" class="cn.com.bochy.dao.impl.UserDaoImpl"> </bean>

    比如说如上这段代码,byName就是通过Bean的id或者name,byType就是按Bean的Class的类型。

    若autowire="byType"意思是通过 class="cn.com.bochy.dao.impl.UserDaoImpl"来查找UserDaoImpl下所有的对象。

    代码autowire="byName"意思是通过id="userDao"来查找Bean中的userDao对象

     

    建议看 《Spring in Action》 第三章第一节,“自动装配 Bean 属性”

     

    在spring中@Autowired注入规则:

    1.@Autowired默认是按照byType进行注入的 

    二.spring注入的基本语法如下:

    xml中语法如下:<bean id="beanId" class="包名.类名">

    如果是属性注入,需要为每一个依赖类创建相应的getter和setter方法。

    如果是构造方法注入,需要为依赖类创建相应的构造方法。

    属性注入的语法如下:

    <bean id="被注入的类的beanId" class="包名.类名" />

            <bean id="beanId" class="包名.类名">
                  <property name="被注入的bean的名字" ref="被注入的类的beanId"></property>
             </bean>

    如例子:

    <bean id="userService" class="com.uni2uni.spring.service.impl.UserService"><property name="userDao" ref="userDao"></property></bean>

    <bean id="userDao" class="com.uni2uni.spring.dao.impl.UserDao" />

    因为UserService依赖于UserDao,因此需要在userService中创建相应的getter和setter方法。

    展开全文
  • Java+Selenium3方法篇9-findElement之By Name

    千次阅读 2017-06-16 22:57:42
    本文来介绍Webdriver中元素定位方法之By name,顾名思义,就是我们想要定位的目标元素节点上,有一个name ="value"的属性,这样我们就可以通过name的value直接去找到这个元素。我们还是用百度首页搜索输入和点击提交...

            本文来介绍Webdriver中元素定位方法之By name,顾名思义,就是我们想要定位的目标元素节点上,有一个name ="value"的属性,这样我们就可以通过name的value直接去找到这个元素。我们还是用百度首页搜索输入和点击提交来演示,由于搜索输入文本框有name属性,而点击提交没有name属性,所以,我们这里只有一个元素定位采用了By name。

    相关脚本代码如下。

    package lessons;
    
    import java.util.concurrent.TimeUnit;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    
      
    public class ByClassName {  
      
        public static void main(String[] args) throws Exception {  
              
            System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");  
               
            WebDriver driver = new ChromeDriver();  
         
            driver.manage().window().maximize();  
           
            driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
              
            driver.get("https://www.baidu.com");  
            
            driver.findElement(By.name("wd")).sendKeys("Java");
            
            driver.findElement(By.id("su")).click();
        }
    }
    总结:

    和前面classname一样,如果目标元素节点有这个name属性,我们就采用By name,如果没有,就换成其他方法,例如id,例如XPath,一般XPath是万能的。

    展开全文
  • Spring的自动装配 byName和byType的区别

    千次阅读 2019-04-20 13:43:24
    在装配的时候会有两种方式,byName和byType两种。 byName:根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。 byType:如果容器中存在一个与指定属性类型相同的...

    Spring的自动装配

    好处:大幅度减少Spring配置 

    坏处:依赖不能明确管理,可能会有多个bean同时符合注入规则,没有清晰的依赖关系。 

    在装配的时候会有两种方式,byName和byType两种。

    byName:根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。 

    byType:如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配;如果存在多个该类型bean,那么抛出异常,并指出不能使用byType方式进行自动装配;如果没有找到相匹配的bean,则什么事都不发生,也可以通过设置 
    看代码: 

    UserDAO的实现类 有一个属性daoId

    public class UserDAOImpl implements UserDAO { 
        private int daoId; 
        public int getDaoId() { 
          return daoId; 
        } 
        public void setDaoId(int daoId) { 
          this.daoId = daoId; 
        } 
        public void save(User user) { 
          System.out.println("user saved!"); 
        } 
        @Override 
        public String toString() { 
          return "daoId=" + daoId; 
        } 
    } 

    UserService 依赖了UserDAO

    public class UserService { 
        private UserDAO userDAO;  
        public void add(User user) { 
            userDAO.save(user); 
        } 
        public UserDAO getUserDAO() { 
            return userDAO; 
        } 
        public void setUserDAO(UserDAO userDAO) { 
            this.userDAO = userDAO; 
        } 
    } 

    xml配置 

    <?xml version="1.0" encoding="UTF-8"?> 
    <beans xmlns="http://www.springframework.org/schema/beans" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
           xsi:schemaLocation="http://www.springframework.org/schema/beans 
               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 
    
        <!--第一个UserDAO bean-->
      <bean name="userDAO" class="com.bjsxt.dao.impl.UserDAOImpl"> 
       <property name="daoId" value="1"></property> 
      </bean> 
    
       <!--第二个UserDAO bean-->
      <bean name="userDAO2" class="com.bjsxt.dao.impl.UserDAOImpl"> 
       <property name="daoId" value="2"></property> 
      </bean> 
    
       <!-- 这里的byName是按照属性名进行匹配 这里我们并没有注入UserDAO
       但是你的UserService属性名称是UserDAO 所以就相当于 你注入了UserDAO
       相当于在bean中添加<property name="userDAO" ref="userDAO"/> 一样
       --> 
    
      <bean id="userService" class="com.bjsxt.service.UserService"  autowire="byName">
      </bean> 
    
       <!--需要注意的是在UserService类中,一定要有一个名为setUserDao的构造方法,其中setter
        方法名要与bean的id对应set+name,name首字母大写,否则无法成功注入-->
    
    </beans> 

    测试: 

    ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); 
    UserService service = (UserService)ctx.getBean("userService"); 
    System.out.println(service.getUserDAO()); 
    //打印出来是1 说明默认注入的是UserDAO 

    改成byType的话是按照类型自动装配:

    <?xml version="1.0" encoding="UTF-8"?> 
    <beans xmlns="http://www.springframework.org/schema/beans" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
           xsi:schemaLocation="http://www.springframework.org/schema/beans 
               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 
    
        <!--第一个UserDAO bean-->
      <bean name="userDAO" class="com.bjsxt.dao.impl.UserDAOImpl"> 
       <property name="daoId" value="1"></property> 
      </bean> 
    
       <!--第二个UserDAO bean,这里需要删除掉一个,类型相同的多个bean通过byType
        注入时会报错
      <bean name="userDAO2" class="com.bjsxt.dao.impl.UserDAOImpl"> 
       <property name="daoId" value="2"></property> 
      </bean> 
        -->
    
       <!-- autowire修改为"byType",重点是保证--> 
    
      <bean id="userService" class="com.bjsxt.service.UserService"  autowire="byType">
      </bean> 
    
       <!--需要注意的是在UserService类中,一定要有一个名为setUserDao的构造方法,被装配类中的
        setter方法的参数类型要与bean的class的类型一样,否则无法成功注入-->
    
    </beans> 
    展开全文
  • Spring注入中byType和byName的总结

    千次阅读 2018-03-15 19:43:16
    1.首先,区分清楚什么是byType,什么是byName。&lt;bean id="userServiceImpl" class="cn.com.bochy.service.impl.UserServiceImpl" autowire="byName"&gt; &lt;/bean...

    1.首先,区分清楚什么是byType,什么是byName。

    <bean id="userServiceImpl"
                class="cn.com.bochy.service.impl.UserServiceImpl"
                autowire="byName">
           </bean>  
          <bean id="userDao" class="cn.com.bochy.dao.impl.UserDaoImpl"> </bean>

    比如说如上这段代码,byName就是通过Bean的id或者name,byType就是按Bean的Class的类型。

    若autowire="byType"意思是通过 class="cn.com.bochy.dao.impl.UserDaoImpl"来查找UserDaoImpl下所有的对象。

    代码autowire="byName"意思是通过id="userDao"来查找Bean中的userDao对象

     

    建议看 《Spring in Action》 第三章第一节,“自动装配 Bean 属性”

     

    在spring中@Autowired注入规则:

    1.@Autowired默认是按照byType进行注入的,但是当byType方式找到多个符合

     

    二.spring注入的基本语法如下:

    xml中语法如下:<bean id="beanId" class="包名.类名">

    如果是属性注入,需要为每一个依赖类创建相应的getter和setter方法。

    如果是构造方法注入,需要为依赖类创建相应的构造方法。

    属性注入的语法如下:

    <bean id="被注入的类的beanId" class="包名.类名" />

            <bean id="beanId" class="包名.类名">
                  <property name="被注入的bean的名字" ref="被注入的类的beanId"></property>
             </bean>

    如例子:

     

    <bean id="userService" class="com.uni2uni.spring.service.impl.UserService"> <property name="userDao" ref="userDao"></property> </bean>

    <bean id="userDao" class="com.uni2uni.spring.dao.impl.UserDao" />

    因为UserService依赖于UserDao,因此需要在userService中创建相应的getter和setter方法。

    展开全文
  • 默认情况下是by name。 如果没有相同的name。那么就按by type来。 name和type都指定时,找的是name和type都符合条件的bean。
  • appium版本在1.5以后就不再支持ByName的定位,本文章仅介绍在appium1.6.3/1.6.4/1.6.5版本下如何支持ByName定位,适用于安卓。 在使用appium1.5之后的版本时,你一定见过这个错误 org.openqa.selenium....
  • Spring bean装配之byName跟byType的区别

    千次阅读 2018-07-23 22:42:41
    2、byName会搜索整个配置文件中的bean,如果有相同名称的bean则自动装配,否则显示异常。 例如,在装配com.tutorialspoint.TextEditor的spellChecker时,spring会搜索整个配置文件的bean查找是否有名称为spell...
  • select * from user where name in (select name from user group by name having count(*) > 1)
  • 【题目】使用np.concatenate出现的一个错误--- Argument given by name ('axis') and position (2)   【问题】:在python使用了np.concatenate(array1,array2,axis=0)后,程序报错TypeError: Argument given by...
  • @Autowired注解到底是byType还是byName

    万次阅读 多人点赞 2016-08-05 14:29:32
    通常情况下@Autowired是通过byType的方法注入的,可是在多个实现类的时候,byType的方式不再是唯一,而需要通过byName的方式来注入,而这个name默认就是根据变量名来的。 2.通过@Qualifier注解来指明使用哪一个实现...
  • 这两天在iOS端集成OpenCV的时候,遇到reference to 'Size' is ambiguous, candidate found by name lookup is 'Size', 'candidate found by name lookup is cv::Size' 的问题(同理rect 也有同样的问题),因为不...
  • Data: Get host by name failed in tcp_connect(). 解决办法: 需要安装更高版本的MiKTeX。从官网https://miktex.org/download下载最新版本的安装文件。安装路径可以不必在ctex中,需要安装的包可以直接在cons...
  • Spring 中的byName与 byType

    千次阅读 2015-09-22 08:29:20
    比如说类Computer有个属性printer,指定其autowire属性为byName后,Spring IoC容器会在配置文件中查找id/name属性为printer的bean,然后使用Seter方法为其注入。 ( 如果容器中存在一个与指定属性类型相同的bean,...
  • dubbo中的 springboot项目...java.lang.IllegalStateException: No such extension com.alibaba.dubbo.container.Container by name --spring.output.ansi.enabled=always at com.alibaba.dubbo.common.extensio...
  • @Autowired是byType还是byName

    千次阅读 2018-11-14 18:16:00
    假设以下场景,有一个接口...byType找到多个实现类时,会自动byName,如果byName也不行,才会报错 2,主动byName @Autowired @Qualifier("demoServiceImpl1") private DemoService demoService; 这样也可以
  • Spring-自动注入ByName,ByType

    千次阅读 2018-03-19 19:56:41
    1.School类package top.wyyblog.DI5; public class School { ... public void setName(String name) { this.name = name; } @Override public String toString() { return "School [na...
  • Spring Autowire自动装配byName和byType

    千次阅读 2014-01-19 20:02:20
    --当autowire="byName"这个时候 bean的name 必须与类里面要注入的类成员名字一样才可以自动装配 --> <bean name="dao" class="com.mth.impl.IStuDaoImpl"> <!--autowire 自动装配 byType(类型匹配)和by...
  • 被装配类中的setter方法还是需要的,因为是byName,所以setter方法名要与bean的id对应,比如bean的id为cd,那么setter方法名为setCd。 2.byType 在spring配置文件的标签中加入代码 : dafault-autowire=...
  •  这时@Autowired注解使用的就是byName装配,由于HelloWorld接口的实现类 HelloWorldEnglishImpl的类名首字母小写在IOC容器中找不到对应的bean,它就会使用byName策略,Java的反射机制生成的set方法名小写为hello...
  • xml中并没有给 bean service配Source属性,但在beans中设置了autowire="byName",这样配置文件会自 动根据 cn.hh.spring.Service 中的setSource找bean id="Source"的bean ,然后自动配上去,如果没找 到就...
  • Appium基础篇8-元素定位之by_class_name

    千次阅读 2017-09-10 14:09:03
    前面我们已经介绍了两种,by_id和by_android_uiautomator,这篇来学习by_class_name。个人觉得by_class_name使用频率不是很高,因为很容易多个元素的class是一样的。不管怎么说,学习下和了解还是有必要的。我们来...
  • Error creating bean with name ‘sqlSessionFactory’ defined in class path reso default-autowire=&quot;byname&quot;
  • 有一次在远程连接主机时,用vi打开文件my.ini却提示:Found a swap file by the name ".my.ini.swp"。百度了下才知道,原来在使用vi或vim命令打开一个文件后,就会产生一个.(filename).swp的文件。如果...
  • linux下Found a swap file by the name解决

    万次阅读 2018-03-31 15:26:50
    vim编辑文件时提示 Found a swap file by the name …….swp文件是在vi编辑文件时产生的一个临时文件,在编辑过程中过一段时间自动保存一次。如果意外退出,比如在vi编辑文件过程中退出系统(意外关机、直接关闭了...
  • 打开CSV遇到这样的错误提醒...Found a swap file by the name “.XXX.csv.swp” owned by: root dated:XXXXX file name: modified: user name: host name: process ID: While opening file".XXX.csv.swp" da...
  • 本文介绍findElement接口中八大方法的最后一种,By Tagname,先要了解什么是tagname,我们在使用firepath查看网页元素的时候,全是开始的input 或者button,div,label等等,这些标签就叫tagname。一般利用tagname定位...
  • APScheduler: LookupError: No trigger by the name “interval” was found环境python: 2.6.6 PyInstaller: 2.1 APScheduler: 开始是3.0.1,后来是3.0.5问题一问题描述以前在别的机器上开发的python程序(python...
  • python selenium find element by class name 方法 怎么选中多个元素 ////其实还有一个方法是 find elements by class name 返回选中形式是一个列表
  • 在启动docker容器里的...[root@localhost /]# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql docker: Error response from daemon: Conflict. The container name "/mysql" is a...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,984,715
精华内容 793,886
关键字:

byname