博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring基础实例
阅读量:5129 次
发布时间:2019-06-13

本文共 4009 字,大约阅读时间需要 13 分钟。

Spring容器装某对象就有该对象的功能

AOP : 将纵向重复代码横向抽取 Spring为容器中管理的对象生成动态代理对象

IOC : 控制反转 将对象的创建权反转给Spring
DI : 依赖注入 Spring创建Bean对象时 动态的将依赖对象注入到Bean对象


点击

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击 org/ -> springframework -> spring

在这里插入图片描述

选择版本下载即可

在这里插入图片描述

让eclipse断网拥有xml提示功能 之前有所不同
在这里插入图片描述
Spring实例
在这里插入图片描述


①导入Spring包 必需包spring-framework-5.0.0.RELEASE\libs

//导入Core Container必需包spring-beans-5.0.0.RELEASE.jarspring-context-5.0.0.RELEASE.jarspring-core-5.0.0.RELEASE.jarspring-expression-5.0.0.RELEASE.jar//日志包com.springsource.org.apache.commons.logging-1.1.1.jarcom.springsource.org.apache.log4j-1.2.15.jar

②创建User类

public class User {
private String name; private Integer age; //getter setter //框架调用无参构造方法实例对象 构造方法没有重载时可默认不写jvm会补充}

③创建spring主配置文件 建议路径放在src下 名为applicationContext.xml

点击Design

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试框架实例

public class Test {
public static void main(String[] args) {
//创建容器对象 硬盘绝对路径加载 //FileSystemXmlApplicationContext applicationContext = new FileSystemXmlApplicationContext(path); //创建容器对象 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); //从容器中获取user对象 User user = (User) applicationContext.getBean("user"); //3 打印user对象 System.out.println(user); }}
Console打印 com.java.User@eec5a4a 测试成功

BeanFactory : 顶层接口 获得对象时创建对象

ApplicationContext : 容器启动创建已配置所有对象

Spring三种对象创建方式

public class User {
private String name; private Integer age; //getter setter //框架调用无参构造方法实例对象 构造方法没有重载时可默认不写jvm会补充}
public class UserFactory {
public static User createUser1(){
System.out.println("静态工厂创建User"); return new User(); } public User createUser2(){
System.out.println("实例工厂创建User"); return new User(); }}

Scope

生命周期

属性注入

one
two
three
four
com.jdbc.mysql.Driver
root
root

spring容器实例

//使用ContextLoader监听spring为单实例spring-web-5.0.0.RELEASE.jar
org.springframework.web.context.ContextLoader
contextConfigLocation
classPath:applicationContext.xml
//获得ServletContext对象 从Application域获得spring容器ServletContext servletContext = ServletActionContext.getServletContext();//从ServletContext中获得ApplicationContext容器WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);//从容器中获得对象Test test = (Test) applicationContext.getBean("test");

spring注入properties

在类中使用properties

#方式

classpath:test.properties

Controller

@Controllerpublic class TestController {
@Value("#{test[one]}") private String one; @Value("#{test.two}") private Integer two; @RequestMapping("/test") @Response public String test(){
System.out.println(one+"\n"+two); }}

$方式

@Controllerpublic class TestController {
@Value("${one}") private String one; @Value("${two}") private Integer two; @RequestMapping("/test") @Response public String test(){
System.out.println(one+"\n"+two); }}

在配置文件中使用properties

#方式

$方式

转载于:https://www.cnblogs.com/setlilei/p/10629442.html

你可能感兴趣的文章
Android-多线程AsyncTask
查看>>
LeetCode【709. 转换成小写字母】
查看>>
CF992E Nastya and King-Shamans(线段树二分+思维)
查看>>
如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
查看>>
linux install ftp server
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
WCF揭秘——使用AJAX+WCF服务进行页面开发
查看>>
【题解】青蛙的约会
查看>>
IO流
查看>>
mybatis调用存储过程,获取返回的游标
查看>>
设计模式之装饰模式(结构型)
查看>>
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
[转]: 视图和表的区别和联系
查看>>
图论例题1——NOIP2015信息传递
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>