Spring 入门demo
2023-09-11 14:14:35 时间
1、新建项目
如果手动引入lib,需要引入spring的4个核心包:
- spring-core.RELEASE.jar
- spring-context.RELEASE.jar
- spring-beans.RELEASE.jar
- spring-expression.RELEASE.jar
嫌麻烦的可以直接引入spring所有的jar包(21个)。
还需引入第三方依赖:
- commons-logging.jar。
也可以选择Download,IDEA会自动下载引入:
- spring常用的15个jar包
- commons-logging.jar
- aopalliance.jar
2、在src下新建包com.chy.bean,包下新建接口Animal、实现类Dog
package com.chy.bean; public interface Animal { public void shout(); }
package com.chy.bean; public class Dog { public void shout() { System.out.println("汪汪汪"); } }
3、在spring-config.xml中配置bean
<?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 http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean name="dog" class="com.chy.bean.Dog" /> </beans>
如果创建项目时忘记勾选创建spring-config.xml:
4、新建测试类com.chy.test.Test
package com.chy.test; import com.chy.bean.Dog; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args) { ApplicationContext applicationContext=new ClassPathXmlApplicationContext("spring-config.xml"); // 通过xml中Bean的name来获取该Bean的一个实例,返回的是Object,需要强转 // Dog dog = (Dog) applicationContext.getBean("dog"); //也可以使用class类型的参数直接指定类型 Dog dog = applicationContext.getBean("dog", Dog.class); dog.shout(); } }
传统的对象创建方式:Dog dog=new Dog();
spring则是由容器创建、管理对象(Bean的实例),要使用对象时,从容器中通过bean的name来获取一个实例。
使用spring的时候,尽量不要使用new,把对象的创建都交给spring容器。
相关文章
- spring学习笔记(17)数据库配置[1]spring数据连接池详解
- spring学习笔记(11)@AspectJ研磨分析[2]切点表达式函数详解
- 【Spring Boot】Spring Boot之两种引入spring boot maven依赖的方式
- 使用spring实现邮件的发送(含测试,源码,注释)
- spring: 使用Spring提供的JDBC模板(使用profiles选择数据源/使用基于JDBC驱动的数据源)
- spring: 在Spring应用中使用JDBC(使用profiles选择数据源/使用基于JDBC驱动的数据源)
- Spring Boot启动时数据库初始化spring.datasource(转)
- Spring Boot WebFlux 快速入门实践
- Spring Boot 2 快速教程:WebFlux 快速入门(二)
- Spring Boot 开发集成 WebSocket,实现私有即时通信系统
- Spring异常解决 java.lang.NullPointerException,配置spring管理hibernate时出错
- spring 学习3-Spring AOP
- [Spring学习笔记 2 ]装配各种类型的属性 map,list,array,null,properties
- spring boot:接口站增加api版本号后的安全增强(spring boot 2.3.3)
- Spring MVC架构流程(请求处理流程)
- 基于Springboot2.0的Dubbo入门项目(dubbo-spring-boot-starter)
- Spring MVC入门示例教程--静态页面跳转
- spring学习12 -Spring 框架模块以及面试常见问题注解等
- Spring繁华的AOP王国---第一讲
- Java Spring源代码学习之how is bean scanned - did not answer when this.beanDefinitionNames is filled
- Spring MVC @Transactional注解方式事务失效的解决办法
- spring boot----简单入门
- 毕业设计 Spring Boot的校园疫情师生防疫登记备案系统(含源码+论文)
- 解决com.alibaba.fastjson.JSONException: write javaBean error问题以及解决Spring Boot加入Shiro导致spring aop失效的问题
- Spring事务管理—aop:pointcut expression 常见切入点表达式及事物说明
- sso单点登录的入门(Session跨域、Spring-Session共享)
- 005-spring cache-原理、缓存AOP机制、Spring Cache抽象集成机制、springboot自动配置机制
- 005-spring-data-elasticsearch 3.0.0.0使用【三】-spring-data之Spring数据扩展
- 004-Spring boot 快速入门-项目搭建与启动、SpringBootApplication、启动图标
- Spring jdbcTemplat 写入BLOB数据为空
- Spring Boot快速入门
- Spring入门
- Spring-data-jpa入门(一)