网站建设自身优势的分析建设网站的HTML代码
- 作者: 五速梦信息网
- 时间: 2026年03月21日 07:40
当前位置: 首页 > news >正文
网站建设自身优势的分析,建设网站的HTML代码,直播开放平台入驻,大连网站建设联合企邦根据 【动力节点】最新Spring框架教程#xff0c;全网首套Spring6教程#xff0c;跟老杜从零学spring入门到高级 以及老杜的原版笔记 https://www.yuque.com/docs/share/866abad4-7106-45e7-afcd-245a733b073f?# 《Spring6》 进行整理#xff0c; 文档密码#xff1a;mg9b… 根据 【动力节点】最新Spring框架教程全网首套Spring6教程跟老杜从零学spring入门到高级 以及老杜的原版笔记 https://www.yuque.com/docs/share/866abad4-7106-45e7-afcd-245a733b073f?# 《Spring6》 进行整理 文档密码mg9b Spring 相关文章整理汇总归纳于https://www.yuque.com/u27599042/zuisie IoC 控制反转
控制反转是一种思想。控制反转是为了降低程序耦合度提高程序扩展力达到OCP原则达到DIP原则。控制反转反转的是什么 将对象的创建权利交出去交给第三方容器负责。将对象和对象之间关系的维护权交出去交给第三方容器负责。 控制反转思想的实现DIDependency Injection依赖注入
依赖注入
依赖注入实现了控制反转的思想。Spring通过依赖注入的方式来完成Bean管理的。Bean管理Bean对象的创建以及Bean对象中属性的赋值或者叫做Bean对象之间关系的维护。依赖注入 依赖指的是对象和对象之间的关联关系。注入指的是一种数据传递行为通过注入行为来让对象和对象产生关系。 依赖注入常见的实现方式包括两种 第一种set注入第二种构造注入
set 注入
set注入基于set方法实现的底层会通过反射机制调用属性对应的set方法然后给属性赋值。这种方式要求属性必须对外提供set方法。
set 注入的使用
public class UserDao {// 获取本类的日志记录器private static final Logger logger LoggerFactory.getLogger(UserDao.class);public void insert(){// 使用一下log4j2日志框架logger.info(数据库正在保存用户信息。);}
}public class VipDao {// 获取本类的日志记录器private static final Logger logger LoggerFactory.getLogger(VipDao.class);public void insert(){logger.info(正在保存Vip信息);}
}public class UserService {private UserDao userDao;private VipDao vipDao;public void setAbc(VipDao vipDao){this.vipDao vipDao;}// set注入必须提供一个set方法。// Spring容器会调用这个set方法来给userDao属性赋值。// 我自己写一个set方法不使用IDEA工具生成的。不符合javabean规范。// 至少这个方法是以set单词开始的。前三个字母不能随便写必须是“set/public void setMySQLUserDao(UserDao xyz){this.userDao xyz;}/// 这个set方法是IDEA工具生成的符合javabean规范。public void setUserDao(UserDao userDao) {this.userDao userDao;}public void saveUser(){// 保存用户信息到数据库userDao.insert();vipDao.insert();}
}?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd!–配置dao–bean iduserDaoBean classcom.powernode.spring6.dao.UserDao/!–配置service–bean iduserServiceBean classcom.powernode.spring6.service.UserService!– 想让Spring调用对应的set方法需要配置property标签 –!– name属性值set方法的方法名去掉set然后把剩下的单词首字母变小写。–!– ref翻译为引用英语单词referencesref其属性值指定的是要注入的bean的id。–!–property namemySQLUserDao refuserDaoBean/–!–set方法起名的时候不要为难自己按照规范来。所以一般情况下name位置写属性名就行了。–property nameuserDao refuserDaoBean/!–property namevipDao refvipDaoBean/–!– name属性值set方法的方法名去掉set然后把剩下的单词首字母变小写。 –property nameabc refvipDaoBean//beanbean idvipDaoBean classcom.powernode.spring6.dao.VipDao//beansset 注入分析
set 注入的实现原理 通过property标签获取到属性名userDao通过属性名推断出与该属性对应的set方法的方法名setUserDao通过反射机制调用setUserDao()方法给属性赋值 一般情况下set方法的命名符合JavaBean规范property标签的name属性的属性值就是属性名。property标签的name属性的属性值是setUserDao()方法名演变得到的演变的规律是 去掉set然后剩下的部分首字母改为小写setUsername() 演变为 usernamesetPassword() 演变为 passwordsetUserDao() 演变为 userDaosetUserService() 演变为 userService property标签的ref属性的属性值是要注入的bean对象的id通过ref属性来完成bean的装配这是bean最简单的一种装配方式。 装配指的是创建系统组件之间关联的动作 对于property标签来说ref属性也可以采用标签的方式不使用ref属性
bean iduserServiceBean classcom.powernode.spring6.service.UserServiceproperty nameuserDaoref beanuserDaoBean//property
/bean总结set注入的核心实现原理通过反射机制调用set方法来给属性赋值让两个对象之间产生关系。
构造注入
核心原理通过调用构造方法来给属性赋值。与set注入相比构造注入是在创建对象的同时进行注入进行属性的赋值而set注入是在对象创建之后。
public class CustomerService {private UserDao userDao;private VipDao vipDao;public CustomerService(UserDao userDao, VipDao vipDao) {this.userDao userDao;this.vipDao vipDao;}public void save(){userDao.insert();vipDao.insert();}}?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdbean idxxxx classcom.powernode.spring6.dao.UserDao/bean idyyyy classcom.powernode.spring6.dao.VipDao/bean idcsBean3 classcom.powernode.spring6.service.CustomerService!–不指定下标也不指定参数名让spring自己做类型匹配。–!–这种方式实际上是根据类型进行注入的。spring会自动根据类型来判断把ref注入给相应的参数。–constructor-arg refyyyy/constructor-arg refxxxx//beanbean idcsBean2 classcom.powernode.spring6.service.CustomerService!–根据构造方法参数的名字进行注入。–!– name属性值为要进行注入的构造函数的参数 –constructor-arg namevipDao refyyyy/constructor-arg nameuserDao refxxxx//beanbean idcsBean classcom.powernode.spring6.service.CustomerService!–构造注入–!–index属性指定参数下标第一个参数是0第二个参数是1第三个参数是2以此类推。ref属性用来指定注入的bean的id–!–指定构造方法的第一个参数下标是0–constructor-arg index0 refxxxx/!–指定构造方法的第二个参数下标是1–constructor-arg index1 refyyyy//bean/beans通过构造方法进行注入有三种形式 可以通过下标可以通过参数名也可以不指定下标和参数名可以类型自动推断。 Spring在装配方面还是比较健壮的
- 上一篇: 网站建设子栏目文案劳务网站有做吗
- 下一篇: 网站建设自主开发的三种方式php实现网站tag标签
相关文章
-
网站建设子栏目文案劳务网站有做吗
网站建设子栏目文案劳务网站有做吗
- 技术栈
- 2026年03月21日
-
网站建设子栏目文案apmserv访问本地网站
网站建设子栏目文案apmserv访问本地网站
- 技术栈
- 2026年03月21日
-
网站建设资源分享绍兴网站推广排名
网站建设资源分享绍兴网站推广排名
- 技术栈
- 2026年03月21日
-
网站建设自主开发的三种方式php实现网站tag标签
网站建设自主开发的三种方式php实现网站tag标签
- 技术栈
- 2026年03月21日
-
网站建设自助建站云建站企业建设网站是网络营销吗
网站建设自助建站云建站企业建设网站是网络营销吗
- 技术栈
- 2026年03月21日
-
网站建设字体查看网站名称
网站建设字体查看网站名称
- 技术栈
- 2026年03月21日
