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

中国手工活加工官方网站wordpress 菜单怎么使用方法

中国手工活加工官方网站,wordpress 菜单怎么使用方法,汽油价格网,做网站要领基于注解管理bean 一、标记与扫描1、引入依赖2、创建spring配置文件3、创建组件4、扫描组件4.1、基本扫描&#xff1a;4.2、指定要排除的组件4.3、仅扫描指定组件 二、基于注解的自动装配 一、标记与扫描 1、引入依赖 <dependencies> <!-- 基于Maven依赖传递性&…

基于注解管理bean

  • 一、标记与扫描
    • 1、引入依赖
    • 2、创建spring配置文件
    • 3、创建组件
    • 4、扫描组件
      • 4.1、基本扫描:
      • 4.2、指定要排除的组件
      • 4.3、仅扫描指定组件
  • 二、基于注解的自动装配


一、标记与扫描

1、引入依赖

<dependencies>
<!-- 基于Maven依赖传递性,导入spring-context依赖即可导入当前所需所有jar包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.1</version>
</dependency>
<!-- junit测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>

2、创建spring配置文件

在这里插入图片描述

3、创建组件

创建控制层组件

@Controller
public class UserController {
}

创建接口UserService

public interface UserService {
}

创建业务层组件UserServiceImpl

@Service
public class UserServiceImpl implements UserService {
}

创建接口UserDao

public interface UserDao {
}

创建持久层组件UserDaoImpl

@Repository
public class UserDaoImpl implements UserDao {
}

识为业务层组件 @Repository:将类标识为持久层组件
问:以上四个注解有什么关系和区别?
@Controller、@Service、@Repository这三个注解只是在@Component注解
的基础上起了三个新的名字。
对于Spring使用IOC容器管理这些组件来说没有区别。所以@Controller、@Service、@Repository这
三个注解只是给开发人员看的,让我们能够便于分辨组件的作用。
注意:虽然它们本质上一样,但是为了代码的可读性,为了程序结构严谨我们肯定不能随便胡乱标记。

4、扫描组件

4.1、基本扫描:

 <context:component-scan base-package="com.spring.autowired"></context:component-scan>

4.2、指定要排除的组件

    <context:component-scan base-package="com.spring.autowired"><!-- context:exclude-filter标签:指定排除规则 --><!--type:设置排除或包含的依据type="annotation",根据注解排除,expression中设置要排除的注解的全类名type="assignable",根据类型排除,expression中设置要排除的类型的全类名--><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/><context:exclude-filter type="assignable" expression="com.spring.autowired.controller.UserController"/></context:component-scan>

4.3、仅扫描指定组件

    <context:component-scan base-package="com.spring.autowired" use-default-filters="false"><!-- context:include-filter标签:指定在原有扫描规则的基础上追加的规则 --><!-- use-default-filters属性:取值false表示关闭默认扫描规则 --><!-- 此时必须设置use-default-filters="false",因为默认规则即扫描指定包下所有类 --><!--type:设置排除或包含的依据type="annotation",根据注解排除,expression中设置要排除的注解的全类名type="assignable",根据类型排除,expression中设置要排除的类型的全类名--><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/><context:include-filter type="assignable" expression="com.spring.autowired.controller.UserController"/></context:component-scan>

测试

@Test
public void testAutowireByAnnotation(){
ApplicationContext ac = new
ClassPathXmlApplicationContext("applicationContext.xml");
UserController userController = ac.getBean(UserController.class);
System.out.println(userController);
UserService userService = ac.getBean(UserService.class);
System.out.println(userService);
UserDao userDao = ac.getBean(UserDao.class);
System.out.println(userDao);
}

注意:
组件所对应的bean的id
在我们使用XML方式管理bean的时候,每个bean都有一个唯一标识,便于在其他地方引用。现在使用注解后,每个组件仍然应该有一个唯一标识。
默认情况
类名首字母小写就是bean的id。例如:UserController类对应的bean的id就是userController。
自定义bean的id,可通过标识组件的注解的value属性设置自定义的bean的id
@Service(“userService”)//默认为userServiceImpl public class UserServiceImpl implements
UserService {}

二、基于注解的自动装配

@Autowired注解
在成员变量上直接标记@Autowired注解即可完成自动装配,不需要提供setXxx()方法。
@Autowired注解其他细节:
(1)@Autowired注解可以标记在构造器和set方法上
(2)@Autowired工作流程
在这里插入图片描述
在这里插入图片描述
首先根据所需要的组件类型到IOC容器中查找

  • 能够找到唯一的bean:直接执行装配
  • 如果完全找不到匹配这个类型的bean:装配失败
  • 所需类型匹配的bean不止一个
    • 没有@Qualifier注解:根据@Autowired标记位置成员变量的变量名作为bean的id进行匹配
      • 能够找到:执行装配
      • 找不到:装配失败
    • 使用@Qualifier注解:根据@Qualifier注解中指定的名称作为bean的id进行匹配
      • 能够找到:执行装配
      • 找不到:装配失败

@Autowired是Spring框架中的一种注解,用于自动装配bean。其中有一个属性required,默认值为true。如果在容器中找不到对应的组件,则报错。如果属性required的值为false,则在容器中找不到对应的组件时不报错。但是实际开发时,基本上所有需要装配组件的地方都是必须装配的,用不上这个属性。

http://www.yayakq.cn/news/549774/

相关文章:

  • 毕设做微课资源网站设计可以吗wordpress去掉更新提示
  • 企业网站展示论文网站建设的案例教程视频教程
  • 深圳网站建设讯美衡阳网站建设价格
  • 中国建设银行湖南分行官网站网页游戏网站哪个最好
  • vs2015做网站如何添加控件企业网站如何做架构图
  • 外贸建站推广工作总结wordpress做公司网站
  • 旅游网站建设前期分析app开发好还是网站开发好
  • 国内php开发的网站建设滨州做网站公司
  • 河南省做网站的企业网站如何做微信支付链接
  • 化妆品网站后台wordpress空间满
  • 丁香人才网官方网站网站用户体验分析怎么做
  • 网站空间一年多少钱网络 网站建设
  • html怎么做网站背景专业简历制作平台
  • 唐山快速建站公司网站开发和运营合同分开签么
  • 网站快速优化排名官网微分销系统有哪些
  • 购物网站后台模板手机建站程序
  • 家具网站开发环境与工具英文网站建设怎么样
  • 哈尔滨vi设计公司资源网站优化排名网站
  • 做兼职网上哪个网站好东莞seo建站视频
  • 导师让做网站个人网站要备案吗
  • 网站网页设计模板电脑制作软件的工具
  • 网站规划和建设家用电脑怎么做网站
  • 哈尔滨企业网站建设公司网站建设的心得与体会
  • 租车网站建设沧州网站建设申梦
  • 网站建设制作设计seo优化南宁购买了域名之后怎么做网站
  • 快速设计一个网站暴雪国服官网入口
  • 手机版网站模板wordpress主题资讯
  • 兼职网站排行怎么做查询网站
  • 如何销售做网站网站域名和网址一样吗
  • 自己做的网站可以用于百度推广吗怎么建设一个自己的电商网站