基于xml配置以下
bean管理
实现两种操作 a)、spring创建对象 1、基于XML
方式创建对象:<!-- 配置User对象的创建--><bean id = "user" class="demo1.fist.spring.User"> </bean>
在spring配置文件中,只需要使用bean标签
,标签里添加对应属性,就可以实现对象创建。bean标签
常用的属性: id属性:对象的唯一对象class属性:所要创建类的全路径,即package名name属性:为早期使用的属性,与id不同的是,其可以添加特殊字符,基本不使用了默认使用无参构造方法创建对象b)、spring注入属性(基于XML方式注入属性)DI:依赖注入,也就是注入属性1)、set方法注入(调用无参构造
方法) 主类文件的编写:
public class User {private String UserName;private String UserSex;//set 方法注入public void setUserName(String name) {this.UserName = name;}public void setUserSex(String sex) {this.UserSex = sex;}}
xml配置文件编写:
<!-- set方法注入属性 --><!-- 创建对象 --><bean id="user" class="spring.test.demo"><!-- 属性值设置name:类属性名称value:要注入的值--><property name="UserName" value="二蛋"></property><property name="UserSex" value="男"></property></bean>
利用property标签进行调用set方法set方法注入简化版:p名称空间注入2)、调用有参构造
注入属性 主类文件编写:
public class User {private String UserName;private String UserSex;public User(String userName, String userSex) {UserName = userName;UserSex = userSex;}}
xml配置文件编写:
<!-- 配置User对象的创建--><bean id = "user" class="demo1.fist.spring.User"><!-- 属性值设置 --><constructor-arg name="userName" value="二蛋"></constructor-arg><constructor-arg name="userSex" value="女"></constructor-arg></bean>
利用constructor-arg标签
调用有参构造方法
IOC其他属性注入
字面量 设置null值,利用标签设置特殊符号(如:<、>) 法一:转义,可以用转义符 >、<法二:利用CDATA 案例:主类编写:public class User {private String UserName;private String UserSex;private String UserCity;public void setUserName(String userName) {UserName = userName;}public void setUserSex(String userSex) {UserSex = userSex;}public void setUserCity(String userCity) {UserCity = userCity;}}
xml配置文件编写
<!-- 创建对象 --><bean id="user" class="demo1.fist.spring.User"><property name="userName"><!--空值注入--><null/></property><!--特殊符号注入 1、可以用转义符 >、<--><property name="userCity"><value><![CDATA[<><>南京<]]></value></property><!--特殊符号注入 1、可以用转义符 >、<--><property name="userSex" value="><蓝孩子"></property></bean>
注入属性–外部bean
首先,说明概念:WEB层调用为三层,WEB层 调用 Service层 ;Service 层 调用 Dao层
引用解释:/qq_22771739/article/details/82344336
DAO层:
DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。
Service层:
Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。 创建Service类和Dao类 创建Dao类
//接口类(文件1)public interface daoInterface {public void update();}//Dao类 实现上面接口public class dao implements daoInterface{@Overridepublic void update() {System.out.println("update..........dao");}}
创建Service类
import Dao.dao;public class Service {private dao dao1;public void setDao1(dao dao1) {this.dao1 = dao1;}public void add(){System.out.println("add............service");dao1.update();}}
xml配置文件
<!-- 创建对象 service --><bean id="service" class="Service.Service"><!-- 注入对象属性 外部bean的注入name:为对象中属性值的名字ref:为创建的 对象 的名称--><property name="dao1" ref="Daohahaha"></property></bean><!-- 创建对象 dao --><bean id="Daohahaha" class="Dao.dao"></bean>
内部bean
xml配置如下:<!-- 内部bean --><bean id="user" class="User"><property name="school"><bean id="school" class="School"><property name="name" value="二蛋"></property></bean></property></bean>
就bean标签
放在property标签
内部
spring学习---IOC--基于xml--bean管理--spring创建对象--spring注入属性--其他属性注入--外部bean--内部bean