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

做门户网站有前途吗/建立一个网站需要花多少钱

做门户网站有前途吗,建立一个网站需要花多少钱,苏州网站建设公司电话,个人可以做导购网站吗Spring基础05 Bean的作用域 bean的作用域官网图示&#xff1a; Bean的作用域分类&#xff1a; 单例模式&#xff1a;Spring的默认机制&#xff0c;每次从容器中取出的都是同一个对象。 <!-- 默认为单例模式 --> <bean id"address" class"Address&qu…

Spring基础05

Bean的作用域

  1. bean的作用域官网图示:

    在这里插入图片描述

  2. Bean的作用域分类:

    • 单例模式:Spring的默认机制,每次从容器中取出的都是同一个对象。

      <!-- 默认为单例模式 -->
      <bean id="address" class="Address"  scope="singleton">
      </bean>
      

      在这里插入图片描述

    • 原型模式:每次从容器中get的时候,都会产生一个新对象。

      <!-- 原型模式 -->
      <bean id="address" class="Address"  scope="prototype">
      </bean>
      

      在这里插入图片描述

    • 其余request,session,application这些只能在web开发中使用到!

  3. Bean的自动装配:

    • 自动装配是Spring满足bean依赖的一种方式!

    • Spring会在上下文中自动寻找,并自动给bean装配属性!

    • 在Spring中自动装配的方式:

      • 在xml中显示的配置。
      • 在java中显示配置。
      • 隐式的自动装配bean。
    • 使用注解实现自动装配:

      • Spring2.5支持注解。
  4. xml配置代码示例:

    • 编写实体类:
    public class Cat {public void shout(){System.out.println("miao~");}
    }
    
    public class Dog {public void shout(){System.out.println("wang~");}
    }
    
    public class People {private Cat cat;private Dog dog;private String name;public Cat getCat() {return cat;}public void setCat(Cat cat) {this.cat = cat;}public Dog getDog() {return dog;}public void setDog(Dog dog) {this.dog = dog;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "People{" +"cat=" + cat +", dog=" + dog +", name='" + name + '\'' +'}';}
    }
    
    • 编写spring配置xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="cat" class="Cat"></bean><bean id="dog" class="Dog"></bean><bean id="people" class="People"><property name="name" value="张三"></property><property name="cat" ref="cat"></property><property name="dog" ref="dog"></property></bean> </beans>
    
     <!-- byName: 会自动在容器上下文中查找,和自己对象set方法后面值对应的beanid--><bean id="people" class="People" autowire="byName"><property name="name" value="张三"></property></bean> ><!-- byType: 会自动在容器上下文中查找,和自己对象属性类型相同的beanid--><bean id="people" class="People" autowire="byType"><property name="name" value="张三"></property></bean>
    
    • 编写测试类:
    import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {public static void main(String[] args) {ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("beans.xml");People people = (People) classPathXmlApplicationContext.getBean("people");people.getDog().shout();people.getCat().shout();}
    }
    
    • 注意点:

      • byName的时候,需要保证所有的bean的id唯一,并且这个bean需要和自动注入的属性的set方法值一致。
      • byType的时候,需要保证所有的bean的class唯一,并且这个bean需要和自动注入的属性的类型一致。
  5. 自动装配xml代码示例:

    • 使用注解须知:

      1. 导入约束: context约束。

        <beans        xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="pring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd">
        </beans>
        
      2. 配置注解的支持: context:annotation-config/ 。

        <?xml version="1.0" encoding="UTF-8"?>
        <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttps://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd"><context:annotation-config/><bean id="cat" class="Cat"></bean><bean id="dog" class="Dog"></bean><bean id="people" class="People"></bean>
        </beans>
        
        public class People {@Autowiredprivate Cat cat;@Autowired // 可以在set方法上使用private Dog dog;private String name;public Cat getCat() {return cat;}public Dog getDog() {return dog;}public String getName() {return name;}public void setName(String name) {this.name = name;}
        }
        
      3. 如果自动装配场景比较复杂,无法只使用@Autowired注解完成时,我们可以使用@Qualifier(value=“xxx”)去配合@Autowired使用,指定一个唯一的bean对象注入!

        import org.springframework.beans.factory.annotation.Autowired;
        import org.springframework.beans.factory.annotation.Qualifier;public class People {@Autowiredprivate Cat cat;@Autowired@Qualifier(value = "dog1")private Dog dog;private String name;}
        
      4. @Resource注解

        import javax.annotation.Resource;public class People {private Cat cat;@Resource(name = "dog1")private Dog dog;private String name;
        }
        
      5. @Resource和@Autowired的区别:

        • 都是可以用来自动装配,都可以放在属性字段上。

        • @Autowired通过byType的方式实现,必须存在这个类型的对象,如果一种类型对应多个对象,则搭配@Qualifier(value=“xxx”)使用。

        • @Resource默认通过byName的方式实现,如果找不到名字,则通过byType实现,如果两种都找不到就会报错,使用@Resource(name = “xxx”)解决报错。

http://www.cadmedia.cn/news/274.html

相关文章:

  • 安阳网/济南seo的排名优化
  • 网站建设 语言/seo软文代写
  • 电商网站建设与运维需要的软件/google免费入口
  • 微信做单网站/常见的网络推广方式
  • app对接网站登录要怎么做/成都网络营销公司哪家好
  • 四川自助网站/域名权重
  • 聊城做网站推广哪家好/深圳债务优化公司
  • 中山网站建设中山/网页设计与网站建设教程
  • 聊城做网站最好的网络公司/百度竞价推广培训
  • 南汇网站建设/企业网站优化价格
  • 网站建设需要的硬件/关键词优化师
  • 外贸网站系统/百度app下载安装官方免费下载
  • 上门按摩怎么做网站/新公司如何做推广
  • 免费网站推广在线观看/百度seo快速排名优化
  • phpcms移动端网站怎么做/优化公司流程制度
  • 网站后台更新 前台为啥没反应/百度广告管家
  • 2017做那个网站致富/网站推广策略有哪些
  • 做健身推广网站/泰州seo外包公司
  • 乌海网站制作/如何注册网站平台
  • 醴陵市城乡和规划建设局网站/百度指数数据分析
  • wordpress域名如何申请/seo如何优化网站推广
  • 怎么做微信钓鱼网站/百度权重域名
  • 2022年中央经济工作会议/南京关键词seo公司
  • 网站开发开题报告/最近一周的时政热点新闻
  • 深圳精品网站设计/公司网络推广服务
  • 网站建设技术员/软件推广
  • 关键词排名是由什么决定的/搜狗搜索引擎优化
  • 做建筑设计的网站推荐/头条新闻最新消息
  • b2b网站权重/做好的网站怎么优化
  • 有些网站为什么可以做资讯/免费b2b网站大全免费