当前位置: 首页 > news >正文

苏州风险区域最新武汉百度搜索优化

苏州风险区域最新,武汉百度搜索优化,网站建设服务杭州,深圳有哪些网站是做餐饮沙龙的1.关于Spring中的注解装配的作用 Spring中的注解装配简化了xml中bean的配置,大大提高了开发效率。 原本我们想在spring容器中使用某个类需要先在xml中配置该类的bean。使用注解后可以直接通过包扫描的方式自动在我们调用类时自动装配。 例如: 当我们想…

1.关于Spring中的注解装配的作用

Spring中的注解装配简化了xml中bean的配置,大大提高了开发效率。

原本我们想在spring容器中使用某个类需要先在xml中配置该类的bean。使用注解后可以直接通过包扫描的方式自动在我们调用类时自动装配。

例如:

当我们想要使用UserDaO实现类时需要再Xml配置文件上添加如下配置

<bean id="userDao" class="com.yc.dao.impl.UserDaoImpl" />

 但是到我们在类上添加注解:@complicate一样可以到达上述xml的效果

@Repository("userDao")
public class UserDaoImpl implements UserDao {@Overridepublic void getUser() {System.out.println("注解测试==>、、、");return ;}
}

xml中的

<bean class="com.xxxx" />就相当于===》@Repository()

<bean id="userDao"  /> 就箱单于==》@Repository("userDao")

但为了可以识别到我们的注解需要再xml中配置包扫描:

    <context:component-scan base-package="com.yc"/>//此处的包要写成自己对应的项目包

如此一来bean的配置也就大大简化,提高了开发效率。

2.Ioc中的注解:

注解说明
@Component使用在类上用于实例化Bean 相当于 <bean></bean>
@Controller使用在web层类上用于实例化Bean
@Service使用在service层类上用于实例化Bean
@Repository使用在dao层类上用于实例化Bean

需要注意的是:使用注解时,当类级别注解不指定具体的 bean 名称时,Spring 会使用类的名称(byname)作为 bean 的名称,比如UserDaoImpl的类加上注解@Repository,而不设置注解参数时,spring会默认以userDaoImpl作为该bean的 id。所以在使用过程中应该注意。

例如:

你会发现注解不设置参数时

@Repository 
public class UserDaoImpl implements UserDao { private User user; public void setUser(User user){ this.user=user; }@Override public void getUser() { System.out.println("注解测试==>、、、"); return ; } 
}

 当我通过测试类去调用时,控制台就会报错,显示找不到bean。

测试类如下:

    @Testpublic void Springtest2(){ClassPathXmlApplicationContext cac=new ClassPathXmlApplicationContext("springConfig.xml");UserDao userDao=cac.getBean(UserDaoImpl.class);userDao.getUser();System.out.println("````");}

而加上(“userDao”)便可以找到

@Repository("userDao") 
public class UserDaoImpl implements UserDao { private User user; public void setUser(User user){ this.user=user; }@Override public void getUser() { System.out.println("注解测试==>、、、"); return ; } 
}

原因:

在 Spring 框架中,@Repository 注解用于标识一个类属于数据访问层(DAO)的组件。默认情况下,Spring 会按照类型来查找并创建相应的 bean 实例。

在示例中,当类级别注解 @Repository 不指定具体的 bean 名称时,Spring 使用类的名称(byname)作为 bean 的名称此处的例子即以userDaoImpl作为其名称而不是以userDao为名称,所以在容器扫描识别时才会显示找不到userDao的bean,容器只扫描到userDaoImpl的bean。因此,如果你的类名为 UserDaoImpl,那么根据默认的查找规则,Spring 将会寻找一个名为 "userDaoImpl" 的 bean。

对于第一个示例中的类:

@Repository
public class UserDaoImpl implements UserDao {// ...
}

如果未在 @Repository 注解中指定 bean 的名称,Spring 默认会使用类名小写(camelCase)。因此,它将在上下文中查找名为 "userDaoImpl" 的 bean。如果找不到与该名称匹配的 bean,就会出现找不到 bean 的错误。

而对于第二个示例中的类:

java

@Repository("userDao")
public class UserDaoImpl implements UserDao {// ...
}

@Repository 注解指定了具体的 bean 名称为 "userDao",这意味着 Spring 在上下文中查找名为 "userDao" 的 bean,并成功创建了实例。

综上所述,注解 @Repository 的查找方式实际上是基于 bean 的名称(byname)进行查找的。你可以通过显式指定 @Repository 注解的值,来定制 bean 名称并避免找不到 bean 的错误。

3.DI注解

注解说明
@Autowired使用在字段上用于根据类型依赖注入,相当于 <property></property> ,根据类型注入。底层使用反射
@Qualifier结合@Autowired一起使用,不能单独使用。根据id查找同类型下的实例
@Resource相当于@Autowired+@Qualifier,按照名称进行注入

http://www.hengruixuexiao.com/news/25879.html

相关文章:

  • 网络营销案例分析题万能模板百度seo优化分析
  • 建立网站的连接结构有哪几种形式如何制作网站和网页
  • 濮阳做网站的公司产品如何推广
  • 新郑龙湖网站建设国内搜索引擎排名第一
  • 做网站阜新关键词异地排名查询
  • 各类东莞微信网站建设seo哪家公司好
  • 国外 创意 网站北京全网推广
  • 微信小程序开发教程模板百度竞价推广账户优化
  • 优秀学校网站设计建网站设计
  • 门户网站开发的背景和意义网站统计器
  • 织梦网站怎样做防护企业内训
  • 北京网站运营优化公司手游推广代理平台有哪些
  • 百度网站下拉怎么做的官网seo哪家公司好
  • 网站做外链平台有哪些电商网络推广
  • 县城做二手车网站代运营网店公司
  • 网站建设销售怎么样app怎么推广
  • 营销型网站建设公司易网拓绍兴seo公司
  • 网站建设脱颖而出杭州优化公司哪家好
  • 网站别人做的上面有方正字体厦门seo网络优化公司
  • 苏州建站公司速找苏州聚尚网络某网站seo诊断分析和优化方案
  • 有个人免费网站吗最近的重要新闻
  • 文登住房与建设局网站seo优化行业
  • 网站如何做微信支付什么关键词能搜到资源
  • 做视频网站需要什么样的配置自己做一个网站要多少钱
  • 网站设计公司 推荐推广链接
  • wordpress page内容微博搜索引擎优化
  • 曰本真人性做爰 酥酥网站手游代理加盟哪个平台最强大
  • 淄博淘宝网站建设浏览器网址
  • 织梦影视网站源码重庆seo公司排名
  • 什么网站可以做兼职设计深圳招聘网络推广