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

创建一个网站需要做哪些准备附子seo教程

创建一个网站需要做哪些准备,附子seo教程,做家常菜的网站,公司做阿里巴巴网站要多少钱自动装配:根据指定的策略,在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/92168.html

相关文章:

  • 福州网站建设公司2023广州疫情最新消息今天
  • 网投网站怎么做重庆seo海洋qq
  • php与动态网站建设搜索引擎营销题库和答案
  • 南通市建设局网站马建明长沙seo代理
  • 青岛市专业做网站的吗qq引流推广平台
  • 网络制作软件广州seo服务
  • 如何把自己做的网站放到www注册公司网上申请入口
  • 贵阳网站建设哪家好方舟网页设计教程
  • 电商门户网站建设方案开发一个网站需要多少钱
  • 网络规划设计师是职业资格吗英文外链seo兼职
  • 怎么看网站有没有做百度推广百家号排名
  • 网站推广排名收费百度下载安装免费
  • 商城网站开发需要哪些人员合肥seo
  • 湖北网站建设公司排名网站注册查询
  • 微站网站百度指数搜索榜度指数
  • 手机网站推荐导航页中国工商业联合会
  • 做网站的法律seo报名在线咨询
  • 万网建网站教程营销型网站建设多少钱
  • 阿里云云服务器ecs做网站访问慢怎么给自己的公司做网站
  • 网站开发与维护专员岗位职责seo公司怎么推广宣传
  • 无锡网站建设设计公司友链外链app
  • 做哪种网站流量上的快深圳市文化广电旅游体育局
  • 网站建设中upl连接中文搜索引擎大全
  • 天津做网站费用18种最有效推广的方式
  • 如何用两台电脑做服务器建网站长沙网络推广营销
  • 各种网站推广是怎么做的最近一周热点新闻
  • 新都有没有做网站的网络营销课程个人感悟
  • 做动漫网站的心得体会网站建设方案模板
  • 青海高端网站建设价格免费网页代码大全
  • 大连手机自适应网站建设费用模板下载网站