首页 > 其他分享 >3.Hello Spring(第一个Spring项目)

3.Hello Spring(第一个Spring项目)

时间:2022-10-28 08:58:14浏览次数:74  
标签:context String Spring hello Hello str public 第一个

3.Hello Spring

报错cannot resolve method getBean(java.lang.String)

添加注解@Autowired

public classMyTest {
    @Autowired
public static voidmain(String[] args) {
        ApplicationContext context =newClassPathXmlApplicationContext("beans.xml");
//我们的对象现在都在spring中的管理了,我们要使用,直接去里面取出来就可以了!
Hello hello = (Hello) context.getBean("hello");
        System.out.println(hello.toString());//hello.tostring().sout;
}
}
<!--使用spring;来创建对象,再spring这些都称为bean
 java表示方法
 类型 变量名 = new类型{};
 Hello hello = new hello();
 bean表示方法
 bean =对象 new hello();
 id =变量名
 class = new的对象;
 property相当于给对象中的属性设置一个值;
-->
<bean id="hello"class="com.itxiaofei.pojo.Hello">
    <property name="str" value="spirng">
    </property>
</bean>

//获取ApplicationContext:拿到spring容器

ApplicationContext:是spring继BeanFactory之外的另一个核心接口或容器,允许容器通过应用程序上下文环境创建、获取、管理bean。为应用程序提供配置的中央接口。在应用程序运行时这是只读的,但如果实现支持这一点,则可以重新加载。

ApplicationContext context =new ClassPathXmlApplicationContext("beans.xml");

在父模块中导入jar包

<dependencies>
        <!-- <https://mvnrepository.com/artifact/org.springframework/spring-webmvc> -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.0.RELEASE</version>
        </dependency>
        <!--导入junit4.12-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>

pojo的Hello.java

public class Hello {
    public String str;

    public String getStr() {
        return str;
    }

    public void setStr(String str) {
        this.str = str;
    }

    @Override
    public String toString() {
        return "Hello{" +
                "str='" + str + '\\'' +
                '}';
    }
}

在resource里面的xml配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="<http://www.springframework.org/schema/beans>"
       xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>"
       xsi:schemaLocation="<http://www.springframework.org/schema/beans>
        <https://www.springframework.org/schema/beans/spring-beans.xsd>">
    <!-- 使用spring;来创建对象,再spring这些都称为bean
     java表示方法
     类型 变量名 = new 类型{};
     Hello hello = new hello();
     bean表示方法
     bean = 对象 new hello();
     id = 变量名
     class = new 的对象;
     property 相当于给对象中的属性设置一个值;
     -->
    <bean  id="hello"  class="com.itxiaofei.pojo.Hello">
        <property name="str" value="spirng">
        </property>
    </bean>

</beans>

测试类MyTest

public class MyTest {

    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        //我们的对象现在都在spring中的管理了,我们要使用,直接去里面取出来就可以了!
        Hello hello = (Hello) context.getBean("hello");
        System.out.println(hello.toString());//hello.tostring().sout;
    }
}
//Hello类public void setStr(String str) {		this.str = str;}

思考:

 

 

IOC:对象由Spring 来创建,管理,装配!

弹幕评论里面的理解:

原来这套程序是:你写好菜单买好菜,客人来了自己把菜炒好招待,就相当于你请人吃饭现在这套程序是:你告诉楼下餐厅,你要哪些菜,客人来的时候,餐厅把做好的你需要的菜送上来IoC:炒菜这件事,不再由你自己来做,而是委托给了第三方__餐厅来做

此时的区别就是,如果我还需要做其他的菜,我不需要自己搞菜谱买材料再做好,而是告诉餐厅,我要什么菜,什么时候要,你做好送来

.

在前面第一个module试试引入Spring

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="<http://www.springframework.org/schema/beans>"       
 xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>"     
 xsi:schemaLocation="<http://www.springframework.org/schema/beans>   
 <https://www.springframework.org/schema/beans/spring-beans.xsd>"> 
  
	 <bean id="userDaomSql" class="dao.UserDaoMysqlImpl"></bean>
	 <bean id="userServiceImpl" class="service.UserServiceImp">        
		<!--ref引用spring中已经创建很好的对象-->       
		<!--value是一个具体的值,基本数据类型-->        
		<property name="userDao" ref="userDaomSql"/>  
  </bean>
</beans>

第一个module改良后测试


public class MyTest0 {
	public static void main(String[] args) {	
		ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");	
		UserServiceImpl userServiceImpl = (UserServiceImpl) context.getBean("userServiceImpl");		
		userServiceImpl.getUser();
	}
}

总结:

所有的类都要装配的beans.xml 里面;

所有的bean 都要通过容器去取;

容器里面取得的bean,拿出来就是一个对象,用对象调用方法即可;

标签:context,String,Spring,hello,Hello,str,public,第一个
From: https://www.cnblogs.com/itxiaofei/p/16834634.html

相关文章

  • 5.Spring的配置
    5.Spring的配置1.别名<!--设置user的别名,如果添加了别名,我们也可以用别名获取对象--><aliasname="user"alias="itxiaofei"/>2.Bean的配置<!--id:bean的唯一标......
  • 《HelloGitHub》第 79 期
    兴趣是最好的老师,HelloGitHub让你对编程感兴趣!简介HelloGitHub分享GitHub上有趣、入门级的开源项目。https://github.com/521xueweihan/HelloGitHub这里有实......
  • 1.spring
    1.spring1.1.简介spring:春天——给软件含义带来了春天官网:核心技术(spring.io)<!--https://mvnrepository.com/artifact/org.springframework/spring-webmvc--><de......
  • 【spring框架】关于application.yml与bootstrap.yml相关配置(不断补充……)
    1.application.yml1.端口与全局访问前缀server:port:8081servlet:context-path:/qianzhui2.spring项目名、json设置全局Date格式spring:application:......
  • 41-41-Spring Cloud Alibaba之Nacos设计原理剖析_ev
                                                 ......
  • Spring —— 注解开发(管理第三方bean)
    第三方bean管理   第三方bean依赖注入  ......
  • 基于springboot+vue物资管理系统java物资统计系统(源码调试+讲解+文档)
    ......
  • Spring核心概念
    (1)IoC(InversionofControl)控制反转使用对象时,由主动new、产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部,此思想称为控制反转。Spring技术对IoC思......
  • Spring Framework系统架构
    (1)SpringFramework是Spring生态圈中最基础的项目,是其他项目的根基。(2)Spring5的架构图其实跟Spring差别不大。(3)SpringFramework系统架构图(上层依赖于下层)1.CoreContai......
  • Spring介绍
    Spring发展到现在已成为了一种开发的生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能。企业级开发主流技术:SpringFramwork(基础)SpringBoot(加速开发)SpringCl......