1、JDK自带的三种annotation
Documented @Retention(value=RUNTIME) public @interface Deprecated 
@Target(value=METHOD) @Retention(value=SOURCE) public @interface Override 
@Target(value={T            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2011-04-03 23:53:29
                            
                                691阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、什么是注解?
 Annontation是Java5开始引入的新特征,中文名称叫注解。
 它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。
  为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且供指定的工具或框架使用。
  Annontation像一种修饰符一样,应用于包、类            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-09 07:42:04
                            
                                41阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、注解入门2、内置注解3、自定义注解、元注解4、小案例(使用反射读取注解的信息,模拟处理注解信息的流程)1、注解入门Anno            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-05-24 17:42:39
                            
                                138阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            首先简单介绍一下进程注入的概念:进程注入就是将一段代码拷贝到目标进程,然后让目标进程执行这段代码的技术。由于这样的代码构造起来比较复杂,所以实际情况下,只将很少的代码注入到目标进程,而将真正做事的代码放到一个共享库中,即.so文件。被注入的那段代码只负责加载这个.so,并执行里面的函数。 
由于.so中的函数是在目标进程中执行的,所以在.so中的函数可以修改目标进程空间的任何内存,当然也可以加钩子            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-23 16:09:22
                            
                                61阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            0x01 代码注入 VS DLL注入代码注入相比于DLL注入的有点:占用内存少,如果要注入的代码与数据较少,那么就不需要将它们做成DLL的形式注入,此时代码注入的方式占用的内存会更少难以查找痕迹,DLL注入的方式会在目标内存中留下相关痕迹,很容易让人判断出目标进程是否被执行过注入操作,代码注入更难以查找痕迹其他,不需要另外的DLL文件,只要有代码注入程序即可。0x02 代码分析CodeInject            
                
         
            
            
            
            这里是想介绍一下如何通过Java的注解机制,实现对bean资源的注入。主要介绍实现的方法,至于例子的实用性不必讨论。 需求:一个应用有两个数据库,分别为DB-A,DB-B。 假设持久层框架使用iBatis来实现,那么SqlMapClient对象在创建时,对于两个不同的DB连接要有两个不同的SqlMapClient对象, 假设我们有一个Service类为MyService.java,该类中有两个Sq            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-29 18:48:55
                            
                                71阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中。当spring容器启动后,spring容器初始化,创建并管理bean对象,以及销毁它。所以我们只需从容器直接获取Bean对象就行,而不用编写一句代码来创建bean对象。这种现象就称作控制反转,即应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-05 15:26:22
                            
                                120阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、京东面试题1、@Autowired的实现原理1、注入方式:        1、基于构造函数的依赖注入public class UserServiceImpl implents UserService{
    private UserDao userDao;
    
    @Autowire
    public UserServiceImpl(Us            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-16 23:21:12
                            
                                79阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Spring 基于构造函数的依赖注入当容器调用带有一组参数的类构造函数时,基于构造函数的 DI 就完成了,其中每个参数代表一个对其他类的依赖。接下来,我们将通过示例来理解 Spring 基于构造函数的依赖注入。示例:下面的例子显示了一个类 TextEditor,只能用构造函数注入来实现依赖注入。让我们用 Eclipse IDE 适当地工作,并按照以下步骤创建一个 Spring 应用程序。步骤描述1            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-29 10:16:52
                            
                                69阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言在java中,操作SQL的主要有以下几种方式:•java.sql.Statement•java.sql.PrepareStatment•使用第三方ORM框架,MyBatis或者Hibernatejava.sql.Statementjava.sql.statement是最原始的执行SQL的接口,使用它需要手动拼接SQL语句。String sql = "SELECT * FROM user WHE            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-11 08:16:07
                            
                                89阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            数据与代码未分离用户能控制数据的输入,代码与数据拼接SQL 注入1. 试探 SQL 注入漏洞是否存在——简单盲注常规 URL:http://www.example.com/test.php?id=2试探 URL 1:http://www.example.com/test.php?id=2 AND 1=1试探 URL 2:http://www.example.com/test.php?id=2 AN            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-21 21:17:10
                            
                                45阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Spring依赖注入原理分析下面谈谈Spring是如何实现反转模式IOC或依赖注入模式DI:平时,我们需要生成一个对象,使用new语法,如一个类为Apublic class A{public void myMethod(){
System.out.println("hello");
}
}如果我们在 B中调用A,那么如下代码:public class B{p            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-09 00:53:21
                            
                                14阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Java 中的依赖注入 (Dependency Injection) 是一种设计模式,它可以使得代码更加灵活、可维护和易扩展。在本文中,我们将会探讨什么是依赖注入,为什么需要它,以及它如何在 Java 中工作。什么是依赖注入?依赖注入是一种编程技术,它将对象之间的依赖关系从代码中解耦出来,并将它们集中管理。在依赖注入中,依赖关系是通过引入外部依赖来实现的,而不是通过类内部创建对象。这种方式可以使得            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-20 08:26:35
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、Spring简介1.Spring简化Java开发Spring Framework是一个应用框架,框架一般是半成品,我们在框架的基础上可以不用每个项目自己实现架构、基础设施和常用功能性组件,而是可以专注业务逻辑。因此学习Spring Framework在架构和模式方面的结构和原理,对我们在架构和模块级别的理解帮助极大。Spring Framework(参考1)的宗旨是简化Java开发,主要的手段            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-21 20:09:04
                            
                                143阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Spring中接口注入的三种方式,上面的代码中,ClassA依赖于InterfaceB的实现,如何获得InterfaceB实现类的实例?传统的方法是在代码中创建InterfaceB实现类的实例,并将起赋予clzB.Type1 接口注入我们常常借助接口来将调用者与实现者分离。如:publicclassClassA
{private InterfaceB clzB;
public init()
{Oj            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-23 17:30:26
                            
                                55阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、前言最近使用Spring里面的依赖注入,比如StudentServiceImple2.java代码:  package di.service.imple;
import com.mengya.spring.annotation.MyResource;
import di.dao.StudentDao;
import di.service.StudentService;
public cl            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-10 15:59:53
                            
                                77阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            命令注入漏洞原理示例代码命令注入的局限无法进行命令注入的原因 原理命令注入是指在某种开发需求中,需要引入对系统本地命令的支持来完成某些特定的功能。当未对可控输入的参数进行严格的过滤时,则有可能发生命令注入。攻击者可以使用命令注入来执行系统终端命令,直接接管服务器的控制权限。在开发过程中,开发人员可能需要对系统文件进行移动、删除或者执行一些系统命令。Java的Runtime类可以提供调用系统命令的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-28 16:41:14
                            
                                9阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            我们知道Spring的依赖注入有四种方式,各自是get/set方法注入、构造器注入、静态工厂方法注入、实例工厂方法注入以下我们先分析下这几种注入方式1、get/set方法注入public class SpringAction {
//注入对象springDao
private SpringDao springDao;
//一定要写被注入对象的set方法
public void setSpringD            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-15 21:34:46
                            
                                130阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前两天的 log4j 漏洞引起了安全圈的震动,虽然是二进制选手,但为了融入大家的过年氛围,还是决定打破舒适圈来研究一下 JNDI 注入漏洞。JNDI 101首先第一个问题,什么是 JNDI,它的作用是什么?根据官方文档,JNDI 全称为 Java Naming and Directory Interface,即 Java 名称与目录接口。虽然有点抽象,但我们至少知道它是一个接口;下一个问题是,Na            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-06 13:55:51
                            
                                81阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一直对JNDI的漏洞处于一知半解的状态,拿到一个漏洞往往是分析下简单的看看触发成因和修复方案,对利用的研究有点忽略。也许是由于对java开发也不太熟悉的缘故。今天公司事情较少。我决定认真学习下JNDI注入相关的知识。什么是JNDI作为一个JAVA 小白, 我先要弄明白JNDI是什么,为什么需要有这个东西,它解决了什么问题。没有jndi之前,对于一个外部依赖,像mysql数据库,程序开发的过程中需要            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-28 12:56:31
                            
                                25阅读