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

网站主页流动图片怎么做/免费网站制作软件平台

网站主页流动图片怎么做,免费网站制作软件平台,怎么做自己的淘宝客推广网站,企业网站子页面模板依赖注入 依赖注入中的构造器注入:在上一节的IOC创建对象的方式中记录。 依赖注入的本质是Set注入! 依赖:bean对象的创建依赖于容器注入:bean对象中的所有属性由容器来注入。 环境搭建: 1、编写实体类Address&…

依赖注入

依赖注入中的构造器注入:在上一节的IOC创建对象的方式中记录。

依赖注入的本质是Set注入!

  • 依赖:bean对象的创建依赖于容器
  • 注入:bean对象中的所有属性由容器来注入。

环境搭建:

1、编写实体类Address:

public class Address {private String address;@Overridepublic String toString() {return "Address{" +"address='" + address + '\'' +'}';}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}
}

编写实体类Student,记得添加属性的set和get方法,此处忽略:

2、编写beans.xml外键测试

3、编写测试代码:

public class MyTest {public static void main(String[] args) {//创建对象时输入CPXApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");Student student = (Student) context.getBean("student");System.out.println(student.getName());}
}

 

Set方式注入(重点)

实现Student实体类中各中属性的实例化。实现注入时,主要是map与properties不同。

以下主要包含了引用类型、数组类型、List类型、Map类型、Set类型、空指针、配置类型的注入方式

<bean id="address" class="com.serenity.pojo.Address"><property name="address" value="北京"/></bean><bean id="student" class="com.serenity.pojo.Student"><!--普通值注入,直接使用value--><property name="name" value="张三"/><!--bean注入,使用ref--><property name="address" ref="address"/><!--数组注入,array--><property name="books"><array><value>红楼梦</value><value>西游记</value><value>水浒传</value><value>三国演义</value></array></property><!--List注入--><property name="hobbys"><list><value>听音乐</value><value>玩游戏</value><value>追剧</value></list></property><!--map注入--><property name="card"><map><entry key="身份证" value="12345679813456"/><entry key="银行卡" value="45613798461356"/></map></property><!--set注入--><property name="games"><set><value>开心消消乐</value><value>植物大战僵尸</value><value>英雄联盟</value></set></property><!--空值注入--><property name="wife"><null></null></property><!--Properties注入--><property name="info"><props><prop key="driver">20200345</prop><prop key="username">王五</prop><prop key="sex">男</prop><prop key="password">123456</prop></props></property></bean>

测试:

测试结果:

P命名空间注入

可以直接注入属性的值:property

1、创建实例User类

public class User {private String name;private int age;@Overridepublic User() {}public User(String name,int age) {this.name = name;this.age = age;}public String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +'}';}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

2、编写Userbeans.xml文件

3、编写测试

C命名空间注入

通过构造器注入:constructs-args(使用该方法注入时,需要保证类中的有参构造方法存在)

测试:

注意点:P命名空间和C命名空间不能直接使用,需要导入xml约束

xmlns:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"

Bean作用域

  • singleton(单例模式):这是默认的作用域,对于在Spring IoC容器中定义的每个Bean,容器将创建一个单一的实例。无论请求多少次,都会返回同一个Bean实例

  • prototype(原型模式):每次请求都会创建一个新的Bean实例,这意味着如果多次调用getBean()方法,每次都会得到一个新的对象

  • request:每次HTTP请求都会创建一个新的Bean,适用于Web应用程序中的Spring WebApplicationContext环境。

  • session:在同一个HTTP Session中,相同的Bean将被复用,不同的Session会有不同的Bean实例。

  • application:在整个ServletContext生命周期内,只创建一个Bean实例,适用于Web应用程序中的Spring WebApplicationContext环境。

可在bean中的scope属性设置模式

单例模式测试:

原型模式测试:

Bean的自动装配

  • 自动装配是Spring满足Bean依赖的一种方式。
  • Spring会在上下文中自动寻找,并自动给bean装配属性。

在Spring中有三种装配方式

1、在xml中显示配置

2、在Java中显示配置

3、隐式的自动装配(重要)

搭建环境:一个人有两个宠物。

public class Dog {public void shout(){System.out.println("汪汪汪");}
}
public class Cat {public void shout(){System.out.println("喵喵喵");}
}
public class People {private Cat cat;private Dog dog;private String name;}

编写beans.xml文件

 <bean id="cat" class="com.serenity.pojo.Cat"/><bean id="dag" class="com.serenity.pojo.Dog"/><bean id="people" class="com.serenity.pojo.People"><property name="name" value="张三"/><property name="dog" ref="dag"/><property name="cat" ref="cat"/>

测试:

 @Testpublic void PeopleTest(){ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");People people = context.getBean("people", People.class);people.getCat().shout();people.getDog().shout();}

自动配置:在bean中的suthwire属性可以设置自动配置。自动配置可以省略

使用ByName

需要保证所有beanid唯一,并且这个bean需要和自动注入的属性的set方法的值唯一

使用ByType

需要保证所有bean的class唯一,并且这个bean需要和自动注入的属性的类型一致。

使用注解实现自动装配

使用注解:

1、导入约束(context约束)

xmlns:context="http://www.springframework.org/schema/context"

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/>
</beans>

修改Bean的自动配置的实例(一个人有两只宠物):

@Autowired

  • 直接在属性上使用(在属性上使用时可以不写set方法,只要 get方法)
  • 也可在set方法上使用
  • 该注解使用前提时自动装配的属性在IOC(Spring)容器中存在,且符合名字。
  • 在存在多个相同的bean时,可添加@Qualifier注解指定唯一的bean对象注入。
  • 先根据ByType,在根据ByName实现查找

扩展:

  • @Nullable 字段标记了这个注解,说明这个字段可以为null

测试结果为:

与注解@Qualifier配合使用

@Resource注解

  • 先会根据beanid查找,名字不符合时,在查找类型ByType
  • 也可在该注解中加name属性指定唯一的bean对象注入

@Resource和@Autowired两者的区别

  • 都是用来自动装配的,都可以放在属性字段上
  • @Autowired通过ByType的方式实现,而且必须要求这个对象存在【常用】
  • @Resource默认通过ByName的方式实现,如果找不到名字,则通过ByType实现
  • 执行顺序不同
http://www.whsansanxincailiao.cn/news/31958922.html

相关文章:

  • asp做的网站如何更新/网络推广平台哪家公司最好
  • wordpress文章导航插件/河北seo技术培训
  • 简述四大行业的网站推广方式/推广联盟
  • 网站维护和建设工作范围/集客营销软件官方网站
  • 网站规划对网站建设起到/上海网站seo快速排名
  • 视频弹幕网站怎么做的/seo是什么意思 为什么要做seo
  • wordpress大胡子主题/群站优化之链轮模式
  • 广西 网站开发/互联网平台推广
  • 做网站搜索排名的公司工作怎么样/西安网络推广
  • 网站开发u盘128够吗/百度自动点击器下载
  • 东莞网站建设制作公司/辽宁和生活app下载安装
  • 高端网站建设网站定制/百度推广哪种效果好
  • 网站建设自由容器是什么意思/茂名seo顾问服务
  • 广告推广文案/怎么优化电脑系统
  • 启信宝企业查询/南宁百度seo排名价格
  • 做文案策划需要看什么网站/什么叫seo网络推广
  • wordpress 如何添加关键词/seo门户网站优化
  • 网站运营推广难做/外链发布工具下载
  • 安阳网站建设/模板建站多少钱
  • 软件科技开发公司/快速排名seo
  • 免费网站建设工具/南昌seo实用技巧
  • 做黄色网站会受到什么惩罚/宁波seo外包方案
  • 2021最新新闻国内大事件/seo快速优化文章排名
  • 公司静态网站模板/html网页制作模板代码
  • 网站建立的步骤/百度网址大全免费下载
  • 南京建站推广公司/产品推广计划方案
  • dw网站怎么做背景图/中国制造网网站类型
  • asp+sql server典型网站建设案例(源码)3/惠州网络营销
  • 企业推广活动/南宁求介绍seo软件
  • 简洁风格的网站模板免费下载/爱站网官网