Spring框架构造注入type属性实例详解
这篇文章主要介绍了Spring框架构造注入type属性实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
进行测试,验证一个问题,废话不多说了,上代码进行比较
package service.impl;
import service.UserService;
import dao.UserDao;
import entity.User;
/**
 * 用户业务类,实现对User功能的业务管理
 */
public class UserServiceImpl implements UserService {
  // 声明接口类型的引用,和具体实现类解耦合
  private UserDao dao;
  private String s1;
  private String s2;
  private int i1;
  // 生成无参构造方法
  public UserServiceImpl() {
  }
  // 带参数构造方法  为dao进行赋值
  public UserServiceImpl(UserDao dao) {
    this.dao = dao;
  }
  public UserServiceImpl(UserDao dao,String s1) {
    this.dao = dao;
    this.s1=s1;
  }
  public UserServiceImpl(String s2,UserDao dao) {
    this.dao = dao;
    this.s2=s2;
  }
  public UserServiceImpl(int i1,UserDao dao) {
    this.dao = dao;
    this.i1=i1;
  }
  public UserDao getDao() {
    return dao;
  }
  // dao 属性的setter访问器,会被Spring调用,实现设值注入
  public void setDao(UserDao dao) {
    this.dao = dao;
  }
  public void addNewUser(User user) {
    // 调用用户DAO的方法保存用户信息
    dao.save(user);
    System.out.println("s1="+s1);
    System.out.println("s2="+s2);
    System.out.println("i1="+i1);
  }
}
核心配置文件:
<bean id="UserService" class="service.impl.UserServiceImpl"> <!--通过构造函数的方式,实现构造注入 --> <constructor-arg> <ref bean="userDao" /> </constructor-arg> <constructor-arg> <value>123</value> </constructor-arg> </bean>
运行结果:
保存用户信息到数据库 s1=null s2=123 i1=0
由此可见,是没有附上值的 ,为i1变量
解决办法:对核心配置文件进行修改,使用type属性,指定数据类型

运行结果:
保存用户信息到数据库 s1=null s2=null i1=123
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
- 
                             
                            SpringBoot2 集成log4j2日志框架的实现前言 Log4j2是 Log4j 的进化版本,并提供了许多 Logback 可用的改进,同时解决了 Logback 体系结构中的一些固有问题.而且日志处理中我们会用到kafka作为日志管道.而kafka客户端依赖与Logback的兼容不是很完美,你可以选择排除依赖冲突或者使用Log4j2 . <!-- more --> 排除Logback依赖 Spring Boot 2.x默认使用Logback日志框架,要使用 Log4j2必须先排除 Logback. <dependency> & 
- 
                             
                            Spring框架应用的权限控制系统详解Spring框架是一个优秀的多层J2EE系统框架,Spring本身没有提供对系统的安全性支持.Acegi是基于Spring IOC 和 AOP机制实现的一个安全框架.本文探讨了Acegi安全框架中各部件之间的交互,并通过扩展Acegi数据库设计来实现基于Spring框架的应用的安全控制方法. 一.引言 近年来,随着Internet技术的迅猛发展,计算机网络已深入到了人们的工作.学习和日常生活中,于是,怎样构建安全的web应用也成为了当前最热门的话题.Spring是一个基于IoC(Inversio 
- 
                             
                            SpringBoot2.0整合Shiro框架实现用户权限管理的示例GitHub源码地址:知了一笑 https://github.com/cicadasmile/middle-ware-parent 一.Shiro简介 1.基础概念 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.作为一款安全框架Shiro的设计相当巧妙.Shiro的应用不依赖任何容器,它不仅可以在JavaEE下使用,还可以应用在JavaSE环境中. 2.核心角色 1)Subject:认证主体 代表当前系统的使用者,就是用户,在Shiro的认证中, 
- 
                                                         
                            SpringBoot框架集成token实现登录校验功能简介 公司新项目,需要做移动端(Android和IOS),登录模块,两个移动端人员提出用token来校验登录状态,一脸懵懵的,没做过,对于token的基本定义都模棱两可,然后查资料查查查,最终OK完成,写篇博客记录一下 思路: 1.基于session登录 基于session的登录(有回话状态),用户携带账号密码发送请求向服务器,服务器进行判断,成功后将用户信息放入session,用户发送请求判断session中是否有用户信息,有的话放行,没有的话进行拦截,但是考虑到时App产品,牵扯到要判断用户 
- 
                             
                            SpringBoot2.0 整合 Dubbo框架实现RPC服务远程调用方法一.Dubbo框架简介 1.框架依赖 图例说明: 1)图中小方块 Protocol, Cluster, Proxy, Service, Container, Registry, Monitor 代表层或模块,蓝色的表示与业务有交互,绿色的表示只对 Dubbo 内部交互. 2)图中背景方块 Consumer, Provider, Registry, Monitor 代表部署逻辑拓扑节点. 3)图中蓝色虚线为初始化时调用,红色虚线为运行时异步调用,红色实线为运行时同步调用. 4)图中只包含 RPC 
- 
                             
                            SSM框架中测试单元的使用 spring整合Junit过程详解测试类中的问题和解决思路 问题 在测试类中,每个测试方法都有以下两行代码: ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); IAccountService as = ac.getBean("accountService",IAccountService.class); 这两行代码的作用是获取容器,如果不写的话,直接会提示空指针异常.所以又不能轻易删掉. 解决思路分析 针对 
- 
                                                         
                            SpringMVC框架实现图片上传与下载本文实例为大家分享了SpringMVC框架实现图片上传与下载的具体代码,供大家参考,具体内容如下 1.新建一个Maven webapp项目,引入需要用的夹包,pom.xml文件的依赖包如下: <dependencies> <!-- 用于生成图片的缩略图 --> <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> 
- 
                             
                            SpringBoot框架RESTful接口设置跨域允许跨域 跨域请求是指浏览器脚本文件在发送请求时,脚本所在的服务器和请求的服务器地址不一样.跨域是有浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制, 同源策略:是指协议.域名.端口都要相同,其中有一个不同都会产生跨域 SpringBoot框架RESTful接口解决跨域 此处是有配置文件的方式来解决的 package com.prereadweb.config.cors; import org.springframework.context.annotation.Bean; im 
- 
                                                         
                            Spring框架构造注入type属性实例详解这篇文章主要介绍了Spring框架构造注入type属性实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 进行测试,验证一个问题,废话不多说了,上代码进行比较 package service.impl; import service.UserService; import dao.UserDao; import entity.User; /** * 用户业务类,实现对User功能的业务管理 */ public class UserServi 
- 
                             
                            Spring框架构造注入操作实战案例本文实例讲述了Spring框架构造注入操作.分享给大家供大家参考,具体如下: 一 配置 <?xml version="1.0" encoding="GBK"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLo 
- 
                                                         
                            Spring Cloud 覆写远端的配置属性实例详解应用的配置源通常都是远端的Config Server服务器,默认情况下,本地的配置优先级低于远端配置仓库.如果想实现本地应用的系统变量和config文件覆盖远端仓库中的属性值,可以通过如下设置: spring: cloud: config: allowOverride: true overrideNone: true overrideSystemProperties: false overrideNone:当allowOverride为true时,overrideNone设置为true,外部的配 
- 
                                                         
                            基于Spring + Spring MVC + Mybatis 高性能web构建实例详解一直想写这篇文章,前段时间痴迷于JavaScript.NodeJs.AngularJS,做了大量的研究,对前后端交互有了更深层次的认识. 今天抽个时间写这篇文章,我有预感,这将是一篇很详细的文章,详细的配置,详细的注释,看起来应该很容易懂. 用最合适的技术去实现,并不断追求最佳实践.这就是架构之道. 希望这篇文章能给你们带来一些帮助,同时希望你们可以为这个项目贡献你的想法. 源码地址:https://github.com/Eliteams/quick4j 点击打开 源码地址:https://gi 
- 
                                                         
                            Spring MVC自定义日期类型转换器实例详解Spring MVC自定义日期类型转换器实例详解 WEB层采用Spring MVC框架,将查询到的数据传递给APP端或客户端,这没啥,但是坑的是实体类中有日期类型的属性,但是你必须提前格式化好之后返回给它们.说真的,以前真没这样做过,之前都是一口气查询到数据,然后在jsp页面上格式化,最后展示给用户.但是这次不同,这次我纯属操作数据,没有页面.直接从数据库拿数据给它们返数据.它们给我传数据我持久化数据,说到这里一个小问题就默默的来了. 首先把问题还原一下吧(这是一个数据导出功能),下图中用红框圈 
- 
                                                         
                            Spring AOP 动态多数据源的实例详解Spring AOP 动态多数据源的实例详解 当项目中使用到读写分离的时候,我们就会遇到多数据源的问题.多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切换数据源.例如在一个spring和Mybatis的框架的项目中,我们在spring配置中往往是配置一个dataSource来连接数据库,然后绑定给sessionFactory,在dao层代码中再指定sessionFactory来进行数据库操作. 正如上图所示,每一块都是指定绑死的,如果是多个数据源,也只能是下图中那种方式. 可看 
- 
                             
                            Spring boot注解@Async线程池实例详解这篇文章主要介绍了Spring boot注解@Async线程池实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从Spring3开始提供了@Async注解,该注解可以被标注在方法上,以便异步地调用该方法.调用者将在调用时立即返回,方法的实际执行将提交给Spring TaskExecutor的任务中,由指定的线程池中的线程执行. 1. TaskExecutor Spring异步线程池的接口类,其实质是java.util.concurrent 
- 
                             
                            JSP 中Spring组合注解与元注解实例详解JSP 中Spring组合注解与元注解实例详解 摘要: 注解(Annotation),也叫元数据.一种代码级别的说明.它与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来对这些元素进行说明 1. 可以注解到别的注解上的注解称为元注解,被注解的注解称为组合注解,通过组合注解可以很好的简化好多重复性的注解操作 2. 示例组合注解 import org.springframework.context.annotation.ComponentScan; im 
- 
                             
                            Bootstrap的aria-label和aria-labelledby属性实例详解aria-label 正常情况下,form表单的input组件都有对应的label.当input组件获取到焦点时,屏幕阅读器会读出相应的label里的文本. <!DOCTYPE html> <html> <head> <meta charset = "utf-8"> <title>demo</title> <link rel="stylesheet" href="https:// 
- 
                             
                            mybatis防止SQL注入的方法实例详解SQL注入是一种很简单的攻击手段,但直到今天仍然十分常见.究其原因不外乎:No patch for stupid.为什么这么说,下面就以JAVA为例进行说明: 假设数据库中存在这样的表: table user( id varchar(20) PRIMARY KEY , name varchar(20) , age varchar(20) ); 然后使用JDBC操作表: private String getNameByUserId(String userId) { Connection conn 
随机推荐
- asp中在JScript中使用RecordSet对象的GetRows
- 屏蔽up键禁止游戏运行脚本分享
- 详解iOS中多线程app开发的GCD队列的使用
- IOS Swift3 四种单例模式详解及实例
- Python中内置的日志模块logging用法详解
- JS设置时间无效问题的解决办法
- JS连连看源码完美注释版(推荐)
- asp.net SQL存储过程分页
- 自编函数解决pathinfo()函数处理中文问题
- Android中viewPager使用指南
- 解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)
- Yii中CGridView实现批量删除的方法
- JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
- 微信小程序 Button 组件详解及简单实例
- js实现碰撞检测特效代码分享
- Js智能判断浏览器是关闭还是刷新的代码
- jdk7 中HashMap的知识点总结
- asp.net Repeater 自增
- RecyclerView的使用之多种Item加载布局
- ThinkPHP框架下整合支付宝支付功能图文教程

