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

要如何自己创建一个网站宁德市

要如何自己创建一个网站,宁德市,响应式网站建设一般多少钱,网站建设的开发方式和费用自动装配:根据指定的策略,在IOC容器中匹配某个bean,自动为bean中的类类型属性或接口类型的属性赋值,可以通过bean标签中的autowire属性设置自动装配的策略。 一、基于xml文件 一个类型的bean在IOC容器中只出现一次,默…

自动装配:根据指定的策略,在IOC容器中匹配某个bean,自动为bean中的类类型属性或接口类型的属性赋值,可以通过bean标签中的autowire属性设置自动装配的策略。

一、基于xml文件

        一个类型的bean在IOC容器中只出现一次,默认就是单例的,如果要通过配置多个类型的多个bean来获得不同的对象没有太大的必要,只需要在bean里面里面设置一个作用域,把单例设置成多例就可以获得。

基于xml文件的自动装配有以下几种方式:

aytowire属性有no、default、byName、byType四种策略

1.no、default:表示不匹配,即bean中的属性不会自动匹配某个bean为属性赋值,此时属性使用默认值。

2.byType:根据要赋值的属性的类型,在IOC容器中匹配某个bean给属性赋值

    <bean id="userController" class="com.zh.spring.controller.UserController" autowire="byType">
<!--        <property name="userService" ref="userService"></property>--></bean>

注意:

  •         若通过类型没有找到任何一个类型匹配的bean,此时不装配,属性使用默认值
  •         若通过类型找到了多个类型匹配的bean,此时会抛出异常:NoUniqueDefinitionException

当使用byType实现自动装配时,IOC容器中有且只有一个类型的bean能够为属性赋值

3.byName:将要赋值的属性的属性名作为bean的id在IOC容器中匹配某个bean,给属性赋值。

<bean id="userService" class="com.zh.spring.service.impl.UserServiceImpl" autowire="byName" >
<!--        <property name="userDao" ref="userDao"></property>--></bean>
    @Testpublic void testAutowire(){ApplicationContext ioc = new ClassPathXmlApplicationContext("spring-autowire-xml.xml");UserController userController = ioc.getBean(UserController.class);userController.saveUser();}

总结:当类型匹配的bean有多个类型时,此时可以使用byName实现自动装配。

byType不行时(即根据类型匹配到多个类型的bean)才使用byName。

二、基于注解的自动装配

基本使用的是基于注解的自动装配管理bean

和xml配置一样,注解本身并不能执行,注解本身仅仅是一个标记,具体的功能是框架检测到注解标记的位置,然后针对这个位置按照注解标记的功能来执行具体操作。

Spring为了知道开发人员在何处加了什么标记会进行扫描。

标识组件的常用注解:

  1. @Component:将类标识为普通组件
  2. @Controller:将类标识为控制层组件
  3. @Service:将类标识为服务层组件
  4. @Repository:将类标识为持久层组件

注意这些组件不能加在接口上,只能加在普通的类以及实现类上,不能胡乱标记,要根据是否是控制层、服务层、持久层来标记,如果都不是,则标记为@Component

1.扫描组件

        注解+扫描:可以将所扫描的包下的 加上注解的这些类 作为组件进行管理,就是在IOC容器中有了当前类加上注解所对应的bean对象

use-default-filter="true"(默认),所设置的包下所有的类都需要扫描,此时可以使用排除扫描

use-default-filter="false",所设置的包下所有的类都不需要扫描,此时可以使用包含扫描

排除扫描:context:exclude-filter

包含扫描:context-include-filter

 <context:component-scan base-package="com.zh.spring" use-default-filters="true">
<!--        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>-->
<!--        <context:exclude-filter type="assignable" expression="com.zh.spring.controller.UserController"/>--><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan>

注意:排除和包含不能同时使用,一般排除用的多。

2.bean的id的表示方式

   a.通过注解+扫描所配置的bean的id,默认值为类的小驼峰命名。即类名的首字母小写的结果

 @Testpublic void test(){ApplicationContext ioc = new ClassPathXmlApplicationContext("spring-ioc-annotation.xml");UserService userService = ioc.getBean("userServiceImpl",UserService.class);System.out.println(userService);UserDao userdao = ioc.getBean("userDaoImpl",UserDao.class);System.out.println(userdao);UserController userController = ioc.getBean(UserController.class);
//        System.out.println(userController);userController.saveUser();}

   b.设置自定义id,通过在类名上的注解的括号中的value值表示

@Controller("controller")  //自定义id  value属性值public class UserController {}

3.添加@Autowired注解进行赋值

@Autowired:实现自动装配功能的注解,

     @Autowired能够标识的位置:

  1.         标识在成员变量上,此时不需要设置成员变量的set方法
  2.         标识在set方法上
  3.         为当前成员变量赋值的有参构造函数上  
@Controller
public class UserController {//控制层访问这个对象//在成员变量上标记
//    @Autowiredprivate UserService userService;//在有参构造方法上标记@Autowiredpublic UserController(UserService userService) {this.userService = userService;}//在set方法上标记@Autowiredpublic void setUserService(UserService userService) {this.userService = userService;}public void saveUser(){userService.saveUser();}
}
http://www.yidumall.com/news/57008.html

相关文章:

  • 河南省建设厅职称网站seo外链优化策略
  • 河南网站网站制作微信群推广网站
  • 南宁市两学一做网站上海全国关键词排名优化
  • 网站建设的优势网站推广名词解释
  • 用什么做asp网站微博推广有用吗
  • 建设网站定制网上培训课程平台
  • wordpress 便利贴哈尔滨seo关键词优化
  • 做窗帘的网站网站排行榜查询
  • 网站的模块自动外链工具
  • 邢台移动网站建设费用百度论坛首页官网
  • 建立免费网站的步骤山西网页制作
  • 嘉兴网嘉兴网站建设谷歌搜索入口 镜像
  • 企业官网定制设计开发百度seo提高排名费用
  • 360做网站荆州新东方在线网上课程
  • 哪些大型网站有做互联网金融百度提问首页
  • 免费个人网站服务器bb厦门人才网招聘官网
  • 关于国际贸易的网站晨阳seo服务
  • 做网站联盟seo怎么推排名
  • 网站上传图片尺寸苏州seo关键词优化排名
  • wordpress 下载的主题插件在俺儿优化防疫措施
  • 婚纱影楼网站源码软文广告成功案例
  • 凡科网之前做的网站在哪看东莞网站公司哪家好
  • 做推广类门户网站怎么样青岛优化网站关键词
  • 网站如何添加图标怀化网络推广
  • 营销型网站建设的一般过程包括哪些环节?怎么做网站广告
  • app网站建设web制作网站的模板
  • 长春企业网站建设google推广工具
  • 网站怎么上传模板百度指数搜索热度大学
  • h5手机网站制作站长工具查询网站
  • 360网站seo怎么做百度关键词优化方法