栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java EE --- Spring 的创建和使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java EE --- Spring 的创建和使用

文章目录
  • 1. Spring 项目的创建
    • 1.1 创建一个 Maven 项目
    • 1.2 添加 Spring 依赖包
    • 1.3 创建 启动类
  • 2. 将 Bean 对象存储到 Spring
    • 2.1 创建一个业务对象
    • 2.2 将对象存储到Spring框架 (声明式)
  • 3. 获取并使用 Bean 对象
    • 3.1 获取 Spring 上下文对象
      • 方式一: 通过 ApplicationContext 来获取
      • 方法二: 通过 BeanFactory 来获取
      • 注意事项
    • 3.2 通过 Spring 上下文对象来获取 Bean 对象
      • 方式一: 通过 bean 的 id 来获取
      • 方式二: 通过类型获取
      • 方法三: 通过 id+类型 来获取
      • 注意事项
    • 3.3 使用业务对象
  • 4. ApplicationContext VS BeanFactory
    • 1. 二者来自的 jar 包不一样
    • 2. 对于继承来说
    • 3. 对于执行性能来说

1. Spring 项目的创建 1.1 创建一个 Maven 项目



配置一下国内源

settings.xml 内容



	
	
	
	
		  
			alimaven  
			aliyun maven  
			http://maven.aliyun.com/nexus/content/groups/public/  
			central          
		 
	
	
	
		    
			jdk-1.8    
			    
				true    
				1.8    
				    
		    
		1.8    
		1.8    
		1.8    
		    
		 

		
			nexus
			
				
					central
					http://repo.maven.apache.org/maven2
					
						false
					
				
				
					ansj-repo
					ansj Repository
					http://maven.nlpcn.org/
					
						false
					
				
			
		
	
 
	
		nexus
	


这里的注意事项:

  1. 首先勾选这两个 选项
  2. 检查 settings.xml 这个目录是否存在
    如果不存在, 就要把这个settings.xml创建进去
    如果存在, 就要查看自己是否配置了国内源
  3. 如果还是不行, 就把repository目录下的内容都删了
1.2 添加 Spring 依赖包

	
		org.springframework
		spring-context
		5.2.3.RELEASE
	
	
	
		org.springframework
		spring-beans
		5.2.3.RELEASE
	

添加之后 记得刷新一下maven

1.3 创建 启动类

2. 将 Bean 对象存储到 Spring 2.1 创建一个业务对象

2.2 将对象存储到Spring框架 (声明式)

将下列内容拷贝进去




将 User 对象注册到 Spring 中.

    
        
    

3. 获取并使用 Bean 对象 3.1 获取 Spring 上下文对象 方式一: 通过 ApplicationContext 来获取
	// 方法一: 通过 ApplicationContext 来获取 Spring 的上下文对象
    ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
方法二: 通过 BeanFactory 来获取
    // 方法二: 通过  BeanFactory 来获取 Spring 的上下文对象
    BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
注意事项

3.2 通过 Spring 上下文对象来获取 Bean 对象 方式一: 通过 bean 的 id 来获取
    // 方法一: 通过 bean 的 id 来获取
    UserBean user = (UserBean) context.getBean("user");

缺点 : 需要强制类型转换

方式二: 通过类型获取
    // 方法二: 通过类型获取
    UserBean user = context.getBean(UserBean.class);

缺点 : 对于多个对象的同一种类型的 Bean 获取会报错

方法三: 通过 id+类型 来获取
    // 方法三: 通过 id+类型 来获取
    UserBean user = context.getBean("user",UserBean.class);

优点 : 不需要强制类型转换, 对于多个对象的同一种类型的 Bean 获取不会报错

注意事项

3.3 使用业务对象
    public static void main(String[] args) {
        // 1. 获取到 Spring 的上下文对象
        // 方法一: 通过 ApplicationContext 来获取 Spring 的上下文对象
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
        // 2. 通过 Spring 上下文对象来获取业务对象
        // 方法一: 通过 bean 的 id 来获取
        UserBean user = (UserBean) context.getBean("user");
        // 3. 使用业务对象
        user.printName("Spring");
    }

4. ApplicationContext VS BeanFactory 1. 二者来自的 jar 包不一样

ApplicationContext 来自 spring.context.jar 下
BeanFactory 来自 spring.beans.jar 下

2. 对于继承来说

ApplicationContext 和 BeanFactory 都属于 Spring 下的顶级接口
 
ApplicationContext 属于 BeanFactory 的⼦类, BeanFactory 所有的功能 ApplicationContext 也是拥有的,
 
除此之外. AppicationContext 还拥有其他的 BeanFactory 没有的功能.
 
例如 对国际化支持、资源访问支持、以及事件传播等方面的支持

3. 对于执行性能来说

ApplicationContext 是⼀次性加载并初始化所有的 Bean 对象,所以它的启动过程可能比较慢, 但是后续执行快; ⽽ BeanFactory 是需要那个才去加载那个,因此 BeanFactory 占用系统资源更少, 启动更快, 但是后续的执行可能会更慢些.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941131.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号