spring学习总结

spring学习总结spring学习总结

大家好,又见面了,我是你们的朋友全栈君。

    最近几天学习了一些关于spring的东西,以前对spring的认识最大的就是控制反转和依赖注入,原理也不是很清楚。今天就谈谈控制反转和依赖注入新的认识。

    控制反转就是把创建对象的过程交给spring去管理。最初我们采用new来创建一个新的对象,加入了spring之后,就可以通过spring来创建,主要有两种方式,一种是通过配置文件,另一种是通过注解。 

如果是通过配置文件来创建对象的代码为:

<bean id="userService" class="cn.tgb.UserService"/〉

    class指的是需要实例化的类,这里是类的完整路径。

创建一个UserService类的对象:

public void testUser(){
    //1.加载spring配置文件
    ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
    //2.得到创建的对象
    UserService user = context.getBean("userService");
}

通过注解创建对象就是在要实例的类上面加上注解。

@Component(value="user")
public class UserService{
   public void add(){
       system.out.println("add-method");
   }
}

创建对象的注解有四个,分别为:Component,Controller,Service,Repository。

属性注入就是创建对象的时候,向类中的属性赋值。在spring中,我们可以通过set方法或有参的构造函数注入。比如说我们通过有参数的构造函数注入:

向UserService类中的username属性注入值为“张三”:

<!--使用有参数的构造注入属性-->
<bean id="userService" class="cn.tgb.UserService"〉
    <!--使用有参构造注入,name:属性名称,value:具体的属性值-->
    <constructor-arg name="username" value="张三"/>
<bean/>

UserService类:

public class UserService{
    private String username;
    
    public UserService(String username){
        this.username = username;
    }

    public void add(){
         System.out.println("add user:" + username);
    }
}

使用set方法注入:

public class UserService{
    private String username;
    
    public setUserName(String username){
        this.username = username;
    }

    public void add(){
         System.out.println("add user:" + username);
    }
}

配置文件:

<!--使用set方法注入属性-->
<bean id="userService" class="cn.tgb.UserService"〉
    <!--注入属性值,name:属性名称,value:具体的属性值-->
    <property name="username" value="张三"><property/>
<bean/>

    属性的注入跟创建对象一样,既可以通过配置文件设置,也可以用注解的方式。注入属性的两个关键字为:Autowired和Resource。把注解加到对应的属性上面就可以。

     感觉spring刚刚入了一点门,接下来再深入学习。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105652.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月25日 上午10:00
下一篇 2022年4月25日 上午10:00


相关推荐

  • amos路径分析结果怎么看_路径分析图怎么解读

    amos路径分析结果怎么看_路径分析图怎么解读基础准备草堂君在前面几篇文章中,介绍了AMOS软件的操作、分析原理、结构方程模型和各种拟合指标含义等内容,大家可以点击下面的文章链接回顾,也可以从公众号导航栏获取AMOS分析技术(导航页)回顾:AMOS分析技术:软件安装及菜单功能介绍;这次是视频教程AMOS分析技术:结构方程模型的拟合度评价指标AMOS分析技术:模型整体拟合度指标AMOS分析

    2022年8月24日
    13
  • WIN10X64_LTSB2016极限精简版by双心「建议收藏」

    WIN10X64_LTSB2016极限精简版by双心「建议收藏」WIN10X64LTSB2016极限精简版by双心http://www.cnblogs.com/liuzhaoyzz/p/9162113.html下载地址1:https://cloud.189.cn

    2022年8月4日
    19
  • java多线程-学习总结(完整版)

    java多线程-学习总结(完整版)这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Mar

    2022年7月7日
    20
  • tomcat 宕机问题分析及解决「建议收藏」

    tomcat 宕机问题分析及解决「建议收藏」服务器环境:centos6.7+tomcat7.0.69+jdk1.7.0_55+mysql5.6.28场景:服务刚开始用户体验变差,请求时间长,之后出现404,500等与服务器交互失败问题。重启后用户体验回升,半小时内问题没有再现。日志中出现的问题有两个:                 1、Cause:org.springframework.jdbc.Can

    2022年7月26日
    20
  • gitlab 删除分支 合并分支,合并时候冲突解决办法 笔记

    gitlab 删除分支 合并分支,合并时候冲突解决办法 笔记删除分支合并分支 如果合并存在冲突解决办法 当冲突的时候 点击在本地解决或者 checkout 会弹出一个这样的框 我想把 1112 合并到 docking 的分支上 步骤一 拉取远处的分支 并且创建新的分支 1112 来源于 1112 如果提示已经存在 直接执行步骤二 切换到 docking 并且把 1112 的代码合并 这时候如果你是在 vscode 下 合并的 会有明显

    2026年3月17日
    2
  • jboss安装与配置_拼多多下载安装

    jboss安装与配置_拼多多下载安装一、Jboss下载:1、点击http://jbossas.jboss.org/downloads/找到合适的版本下载;我这里是用的Jboss-as-7.1.1.Final版本,算是比较新的一个版本。二、Jboss安装:1、首先将下好的Jboss解压到自己想要存放的位置;2、配置环境变量(非必要步骤),建议还是将环境变量配好,便于…

    2022年10月4日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号