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

世界工厂采购网站做网站备案须知

世界工厂采购网站,做网站备案须知,两新支部网站建设,株洲网站建设工作室Spring p命名空间注入util命名空间注入基于XML的自动装配根据名称自动装配 Spring引入外部属性配置文件 p命名空间注入 作用:简化配置。 使用p命名空间注入的前提条件包括两个: ● 第一:在XML头部信息中添加p命名空间的配置信息&#xff1a…

Spring

  • p命名空间注入
  • util命名空间注入
  • 基于XML的自动装配
    • 根据名称自动装配
  • Spring引入外部属性配置文件


p命名空间注入

作用:简化配置。

使用p命名空间注入的前提条件包括两个:
● 第一:在XML头部信息中添加p命名空间的配置信息:xmlns:p=“http://www.springframework.org/schema/p”
● 第二:p命名空间注入是基于setter方法的,所以需要对应的属性提供setter方法。

Customer.java

package com.w.spring6.bean;public class Customer {private String name;private int age;public void setName(String name) {this.name = name;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Customer{" +"name='" + name + '\'' +", age=" + age +'}';}
}

spring-p.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" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="customerBean" class="com.w.spring6.bean.Customer" p:name="zhangsan" p:age="20"/></beans>

测试程序:

@Test
public void testP(){ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-p.xml");Customer customerBean = applicationContext.getBean("customerBean", Customer.class);System.out.println(customerBean);
}

运行结果:
在这里插入图片描述

util命名空间注入

使用util命名空间可以让配置复用。
使用util命名空间的前提是:在spring配置文件头部添加配置信息。如下:

<?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:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">

MyDataSource1.java

package com.w.spring6.jdbc;import java.util.Properties;public class MyDataSource1 {private Properties properties;public void setProperties(Properties properties) {this.properties = properties;}@Overridepublic String toString() {return "MyDataSource1{" +"properties=" + properties +'}';}
}

MyDataSource2.java

package com.w.spring6.jdbc;import java.util.Properties;public class MyDataSource2 {private Properties properties;public void setProperties(Properties properties) {this.properties = properties;}@Overridepublic String toString() {return "MyDataSource2{" +"properties=" + properties +'}';}
}

spring-util.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" xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd"><util:properties id="prop"><prop key="driver">com.mysql.cj.jdbc.Driver</prop><prop key="url">jdbc:mysql://localhost:3306/spring</prop><prop key="username">root</prop><prop key="password">123456</prop></util:properties><bean id="dataSource1" class="com.w.spring6.jdbc.MyDataSource1"><property name="properties" ref="prop"/></bean><bean id="dataSource2" class="com.w.spring6.jdbc.MyDataSource2"><property name="properties" ref="prop"/></bean></beans>

测试程序:

@Test
public void testUtil(){ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-util.xml");MyDataSource1 dataSource1 = applicationContext.getBean("dataSource1", MyDataSource1.class);System.out.println(dataSource1);MyDataSource2 dataSource2 = applicationContext.getBean("dataSource2", MyDataSource2.class);System.out.println(dataSource2);
}

在这里插入图片描述

基于XML的自动装配

Spring还可以完成自动化的注入,自动化注入又被称为自动装配。它可以根据名字进行自动装配,也可以根据类型进行自动装配。

根据名称自动装配

UserDao.java

package com.w.spring6.dao;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class UserDao {private static final Logger logger= LoggerFactory.getLogger(UserDao.class);public void insert(){//System.out.println("数据库正在保存信息");logger.info("数据库正在保存信息");}}

VipDao.java

package com.w.spring6.dao;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class VipDao {private static final Logger logger= LoggerFactory.getLogger(VipDao.class);public void insert(){logger.info("数据库正在保存vip信息");}
}

UserService.java

package com.w.spring6.service;import com.w.spring6.dao.UserDao;
import com.w.spring6.dao.VipDao;public class UserService {private UserDao userDao;private VipDao vipDao;//    public void setAbc(VipDao vipDao){
//        this.vipDao=vipDao;
//    }public void setVipDao(VipDao vipDao){this.vipDao=vipDao;}//set注入的话,必须提供一个set方法//spring容器会调用这个set方法,来给userDao赋值
/*    //自己写的不符合javabean规范public void setMySQLUserDao(UserDao xyz){this.userDao=xyz;}*///idea自动生成的符合javabean规范public void setUserDao(UserDao userDao) {this.userDao = userDao;}public void saveUser(){userDao.insert();vipDao.insert();}
}

spring-autowire.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/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="userService" class="com.w.spring6.service.UserService" autowire="byName"/><bean id="userDao" class="com.w.spring6.dao.UserDao"/><bean id="vipDao" class="com.w.spring6.dao.VipDao"/></beans>

测试程序:

    @Testpublic void testAutowireByName(){ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-autowire.xml");UserService userService = applicationContext.getBean("userService", UserService.class);userService.saveUser();}

运行结果:
在这里插入图片描述

Spring引入外部属性配置文件

在类路径下新建jdbc.properties文件,并配置信息

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/spring
username=root
password=123456

在spring配置文件中引入context命名空间,配置使用jdbc.properties文件

<?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/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!--
引入外部的properties文件
第一步:引入context命名空间
第二步:使用标签location属性来指定属性配置文件的路径--><context:property-placeholder location="jdbc.properties"/><bean id="dataSource" class="com.w.spring6.jdbc.MyDataSource"><property name="driver" value="${jdbc.driverClass}"></property><property name="url" value="${jdbc.url}"></property><property name="username" value="${jdbc.username}"></property><property name="password" value="${jdbc.password}"></property></bean></beans>
http://www.15wanjia.com/news/178659.html

相关文章:

  • 中国传统色彩网站建设方案合肥做网站推广的公司
  • es网站开发wordpress图片使用图床
  • 网页源码怎么做网站高端网站制作哪家好
  • 北京响应式h5网站开发开发网站的基本原则
  • 公司网站招聘模板网页开发培训学校
  • 没有域名的网站需要备案吗兰州市住房保障和城乡建设局网站
  • 网站备案在哪里电商网站建设实训报告心得
  • 免费开源网站建设系统婚纱摄影网站毕业设计php
  • 广州网站建设模板ui设计一个页面多少钱
  • 新乡营销型网站公司部门名称及部门职能
  • 池州网站建设全包省机关事务局网站建设管理情况
  • 美食网站建设的可行性做网络推广
  • 鹧鸪哨网站1v1深度开发wordpress制作轮播图
  • 做政协网站的目的是什么wordpress解决google字体
  • 12306网站建设 实际站群建站
  • 深圳网站建设公司佳速互联如何做婚恋网站
  • 网站地图wordpressmc做图的网站
  • 室内装修网站公司网站维护建设费入什么科目
  • 网站 设计 语言网站收索功能怎么做
  • 广州网站搭建哪家好钢筋网片每平米重量
  • 长春高端品牌网站建设wordpress程序伪静态
  • 女生自己做网站成都附近的旅游景点大全
  • 网站读取错误时怎样做企业网站建设在国内现状
  • 想做一个网站平台怎么做中国电子商务平台
  • wap网站后台模板许昌市做网站汉狮网络
  • 免费网站安全软件下载安装自己电脑做网站域名备案
  • 怎么设置网站字体crm系统公司排名
  • 高密网站建设东莞市找工作上什么网
  • 天津企业网站模板建站哪家好个人网页制作源代码博客
  • 政务系统网站建设工作先进个人主要事迹5G网站建设要多少个