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刚刚入了一点门,接下来再深入学习。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 明日之后js免费脚本_超强免杀工具

    明日之后js免费脚本_超强免杀工具 js脚本免杀工具免杀经验以及简单的分析文章作者:虫虫信息来源:邪恶八进制信息安全团队(www.eviloctal.com)本文所做的实验是以ah.js(冰狐的一个变种,附件中名为”病毒样本.txt”)为病毒样本进行的,其他js恶意代码没有测试。由于卡巴斯基对js的查杀力度比较大,再者我本机就安装了卡巴斯基,所以对其有少量额外的分析。菜鸟作品,难登大雅之堂,高手多多指教!^-^常规的思路就是将

  • Vue-i18n 国际化

    Vue-i18n 国际化基本使用安装npminstall–savevue-i18n创建lang文件夹index.js中引入i18n并使用importVuefrom’vue’importVueI18nfrom’vue-i18n’Vue.use(VueI18n)consti18n=newVueI18n({//设置当前语言locale:’zh’,messages:{‘zh’:{name:’..

  • css3很美的蟠桃动画

    查看效果:http://hovertree.com/texiao/css3/26/源码下载:http://hovertree.com/h/bjaf/ndhxgfkn.htm效果图如下:代码如下:转自

    2021年12月26日
  • windows11修改用户名_win10家庭中文版怎么更改用户名

    windows11修改用户名_win10家庭中文版怎么更改用户名按:新买的电脑一般预装Windows11系统(家庭与学生版),新电脑初次开机使用微软邮箱账号登录,则系统将用户名自动设置成邮箱前几位。我的用户名便是一串数字【231xx】(qq邮箱前5位),看着很不舒服,查了很多方法并最终修改成功!!记录一下修改过程,希望能帮到同样想改用户名的人。首先,强调一点,修改失败可能导致很严重的问题,电脑如有重要资料,务必请提前备份!!!一什么情况需要修改用户名最主要的情况就是初次使用设置了中文用户名。很多软件不支持路径包含中文字……………..

    2022年10月14日
  • Redis主从切换(数据库主从切换)

    转自:http://blog.sina.com.cn/s/blog_67196ddc0101h8v0.html环境描述:主redis:192.168.10.1 6379从redis:192.168.10.2 6380一、主从配置1、将主从redis配置文件redis.conf中的aemonize no 改为 yes2、修改从redis配置

  • javascript activexobject_activex控件

    javascript activexobject_activex控件一、什么是ActiveX控件?    ActiveX控件广泛用于Internet。它们可以通过提供视频、动画内容等来增加浏览的乐趣。不过,这些程序可能出问题或者向您提供不需要的内容。在某些情况下,这些程序可被用来以您不允许的方式从计算机收集信息、破坏您的计算机上的数据、在未经您同意的情况下在您的计算机上安装软件或者允许他人远程控制您的计算机。一般软件需要用户单独下载然后执行

    2022年10月14日

发表回复

您的电子邮箱地址不会被公开。

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