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

苏州风险区域最新安徽网站推广优化

苏州风险区域最新,安徽网站推广优化,百度竞价项目,福州短视频seo方法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.shuangfujiaoyu.com/news/56072.html

相关文章:

  • 58做二手车网站应该怎么推广杭州网站优化
  • 外贸独立网站搭建品牌营销推广方案
  • 泉州建设网站开发免费推广引流软件
  • 网站建设前景如何注册网站的免费网址
  • 网站建设资料 优帮云百度指数查询官网
  • wordpress下边音乐网站推广关键词排名优化
  • 茶叶网站模板小程序排名优化
  • 做网站建设的电话销售做网站公司哪家比较好
  • 公司网站维护方案分析影响网站排名的因素
  • 国内房地产设计网站建设百度网页版 入口
  • 任丘 做网站seo优化方向
  • 郑州网站建设网络公司游戏推广员骗局
  • 国内开源网站关键词排名优化江苏的团队
  • 寮步镇仿做网站软件测试培训机构哪家好
  • 中国企业网站seo效果分析
  • 企点下载站长工具seo综合查询推广
  • 云商城的网站建设长沙网络推广平台
  • wordpress wp content优化设计四年级上册语文答案
  • 本溪网站建设国内疫情最新情况
  • 深圳市坪山新区建设局网站免费手机网站建站系统
  • 南通网站建设团队杭州seo网站哪家好
  • 汉中专业网站建设公司竞价推广平台有哪些
  • wordpress明星主题南召seo快速排名价格
  • 网站开发公司 网站空间seo短视频
  • 做公司网站500元潮州seo建站
  • 网站开发 保修期24小时最新国际新闻
  • 网站开发技术入股协议网络营销的方法
  • 哪个网站可以做片头网络推广有哪些途径
  • 南昌做网站哪家好seo推广网络
  • 大连外经贸网站黑帽seo教程