context

SSM-员工管理系统开发-1

烈酒焚心 提交于 2020-02-11 00:03:18
最近学习SSM框架的整合开发,现在由我自己尝试去开发一个员工管理系统,希望在写BUG的过程中能熟练地使用SSM框架。 本系统采用的B/S端的开发,运用的工具有 IDEA2019,navicat,mysql。 运用的框架有Spring,SpringMVC,mybaits。 现在来开始第一天的开发。 首先打开IDEA-》File-》NEW-》PROJECT-》然后选择Maven 然后选择webapp这个骨架创建项目,然后自己定义项目名称就好 进入之后就等Maven创建结束就行了。下一步就是导入POM的依赖了,我的POM以来来自秦疆老师的blog,大家可以去看看他的SSM整``合,对新手的帮助很大。 < ! -- 依赖 junit 数据库驱动 连接池 servlet jsp mybaits mybaits - spring spring -- > < dependencies > < ! -- Junit -- > < dependency > < groupId > junit < / groupId > < artifactId > junit < / artifactId > < version > 4.12 < / version > < / dependency > < ! -- 数据库驱动 -- > < dependency > < groupId > mysql < /

Spring Boot源码(四):Bean装配

时光怂恿深爱的人放手 提交于 2020-02-10 21:41:51
为了演示Spring中对象是如何创建并放到spring容器中,这里新建一个maven项目: 其中pom.xm文件中只引入了一个依赖: <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.9.RELEASE</version> </dependency> </dependencies> 其实我们只需要这一个,不过spring还是会自动导入他别的依赖,例如spring core,spring aop: 需要说明的是我这里并没有建spring boot项目,只是引入一个spring context依赖的maven项目。 新建一个config配置类,并没有@Configuration注解: @ComponentScan("component") public class MyConfig { } 只有一个@ComponentScan注解,去扫描指定包。 新建一个类(bean),只有@Component注解: @Component public class People { } 新建Test类,此类去创建spring context(spring上下文,或者说是spring容器): import

Spring的BeanFactory和FactoryBean

偶尔善良 提交于 2020-02-10 20:37:43
官方定义 BeanFactory:Spring Bean容器的根接口 FactoryBean:各个对象的工厂接口,如果bean实现了这个接口,它将被用作对象的工厂,而不是直接作为bean实例。 源码解析 BeanFactory public interface BeanFactory { //标注是获取FactoryBean的实现类,而不是调用getObject()获取的实例 String FACTORY_BEAN_PREFIX = "&"; Object getBean(String name) throws BeansException; <T> T getBean(String name, Class<T> requiredType) throws BeansException; Object getBean(String name, Object... args) throws BeansException; <T> T getBean(Class<T> requiredType) throws BeansException; <T> T getBean(Class<T> requiredType, Object... args) throws BeansException; boolean containsBean(String name); boolean

Spring学习沉淀

旧城冷巷雨未停 提交于 2020-02-10 20:21:52
Spring学习沉淀 基本概念 Reactive && Servlet Reactive Servlet Spring注解总结 装配bean 配置类Config Bean 测试类 源码学习 依赖注入和控制反转(spring容器) 应用上下文(ApplicationContext) BeanFactory Bean创建过程 一个简单的demo: IOC容器启动流程 面向切面 AOP基本理论 SpringAop 和 AspectJ 的关系 Spring AOP 基本用法及名词解释 AOP源码解析 参考链接: 基本流程: ProxyFactory详解: 基本概念 来自Spring官网的定义:End-to-end support for reactive & servlet based apps on the JVM. 理解:为在JVM上运行的基于reactive和servlet的应用提供一个端到端的支持(应该是封装了一些基于Reactive和Servlet的应用所应具备的基本逻辑,基于spring框架的开发不用感知这些事情) Reactive && Servlet Reactive 定义:Reactive响应式(反应式)编程 是一种新的编程风格 1)react to events对事件立即反应,事件驱动的自然特性使的反应能够立即加载实施,通过避免对共享资源的争用实现可扩展性。 2

spring+springmvc+mybatis中的spring-service.xml配置

喜欢而已 提交于 2020-02-10 19:49:13
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx

5.Spring框架—IOC和AOP使用扩展

对着背影说爱祢 提交于 2020-02-10 18:56:19
Spring框架 — IOC和AOP使用扩展 1.多种方式实现依赖注入 构造函数注入 < bean id = " accountService " class = " com.accp.service.impl.accountServiceImpl " > < constructor-arg name = " name " value = " 张三 " > </ constructor-arg > < constructor-arg name = " age " value = " 18 " > </ constructor-arg > < constructor-arg name = " birthday " ref = " now " > </ constructor-arg > </ bean > 标签的属性: type:用于指定要注入的数据的数据类型,该数据类型也是构造函数中的某个或某些参数 index:用于指定要注入的数据给构造函数中指定索引位置的参数赋值,索引位置从0开始 name:用于指定给构造函数中指定名称的参数赋值 value:用于提供基本类型和String类型的数据 ref:用于指定其他bean类型的数据。它指的是在spring的IOC核心容器出现过的bean对象 使用set方法注入 < bean id = " accountService " class =

异常模块的使用

China☆狼群 提交于 2020-02-10 17:29:24
异常模块的使用 重写异常模块的目的是记录异常信息(日志记录) 一、异常模块的使用 # 1. 配置异常模块,通过settings.py获取 REST_FRAMEWORK = { # 异常模块配置 # Exception handling # 'EXCEPTION_HANDLER': 'rest_framework.views.exception_handler', # 默认 'EXCEPTION_HANDLER': 'api.utils.exception_handler', # 自己重写的路径 'NON_FIELD_ERRORS_KEY': 'non_field_errors', } # 2.编写异常模块,创建一个新的文件.py重写exception_handler方法 from rest_framework.response import Response def exception_handler(exc, context): # 在exception_handler函数完成异常信息的返回以及异常信息的logging日志 print(exc) print(context) print(type(exc)) # exc.detail 携带错误的信息 return Response(f'{context["view"].__class__.__name__}{exc}') # 2

Android内存管理

只谈情不闲聊 提交于 2020-02-10 13:33:56
这两个方法是网上拷别人的,分别用来得到可用内存和内存总数,这样我们就可用得到了已用内存数。 private long getAvailMemory(Context context) { // 获取android当前可用内存大小 ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); MemoryInfo mi = new MemoryInfo(); am.getMemoryInfo(mi); // mi.availMem; 当前系统的可用内存 // return Formatter.formatFileSize(context, mi.availMem); // 将获取的内存大小规格化 return mi.availMem/(1024*1024); } private long getTotalMemory(Context context) { String str1 = "/proc/meminfo"; // 系统内存信息文件 String str2; String[] arrayOfString; long initial_memory = 0; try { FileReader localFileReader = new FileReader(str1

Android内存管理

感情迁移 提交于 2020-02-10 13:32:00
这两个方法是网上拷别人的,分别用来得到可用内存和内存总数,这样我们就可用得到了已用内存数。 private long getAvailMemory(Context context) { // 获取android当前可用内存大小 ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); MemoryInfo mi = new MemoryInfo(); am.getMemoryInfo(mi); // mi.availMem; 当前系统的可用内存 // return Formatter.formatFileSize(context, mi.availMem); // 将获取的内存大小规格化 return mi.availMem/(1024*1024); } private long getTotalMemory(Context context) { String str1 = "/proc/meminfo"; // 系统内存信息文件 String str2; String[] arrayOfString; long initial_memory = 0; try { FileReader localFileReader = new FileReader(str1

Android释放内存(结束进程)

大憨熊 提交于 2020-02-10 13:30:17
这两个方法是网上拷别人的,分别用来得到可用内存和内存总数,这样我们就可用得到了已用内存数。 View Code private long getAvailMemory(Context context) { // 获取android当前可用内存大小 ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); MemoryInfo mi = new MemoryInfo(); am.getMemoryInfo(mi); //mi.availMem; 当前系统的可用内存 //return Formatter.formatFileSize(context, mi.availMem);// 将获取的内存大小规格化 return mi.availMem/(1024*1024); } private long getTotalMemory(Context context) { String str1 = "/proc/meminfo";// 系统内存信息文件 String str2; String[] arrayOfString; long initial_memory = 0; try { FileReader localFileReader = new